Ruby Student
Ruby Student
RUBY SCRIPTS
1.Write a Ruby script to create a new string which is n copies of a given string
where n is a non-negative integer.
Aim: To Write a Ruby script to create a new string which is n copies of a given
string where n is a non-negative integer.
Program:
def multiple_str(str, n)
return str*n
end
print multiple_str('km', 1),"\n"
print multiple_str('km ', 2),"\n"
print multiple_str('km ', 3),"\n"
print multiple_str('km ', 4),"\n"
print multiple_str('km ', 5),"\n"
Output:
E:\OneDrive\Desktop\RUBY>ruby prog1.rb
km
km km
km km km
km km km km
km km km km km
1
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
2. Write a Ruby script which accept the radius of a circle from the user and
compute the parameter and area.
Aim: To Write a Ruby script which accept the radius of a circle from the user and
compute the parameter and area.
Program:
puts("enter radius:")
radius=gets.to_f
def area_cir(radius)
return 3.141*radius*radius
end
def peri_cir(radius)
return 3.141*2*radius
end
puts("area is:")
puts area_cir(radius)
puts("perimeter is:")
puts peri_cir(radius)
2
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
output:
E:\OneDrive\Desktop\RUBY>ruby prog2.rb
enter radius:
6
area is:
113.076
perimeter is:
37.692
3
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
3. Write a Ruby script which accept the user's first and last name and print them
in reverse order with a space between them.
Aim: To Write a Ruby script which accept the user's first and last name and print
them in reverse order with a space between them.
Program:
puts("enter the first name:")
first=gets.chomp
puts("enter last name:")
last=gets.chomp
def rev(first,last)
name=first+" "+last
newstr= ' '
for i in 1..name.length
newstr+=name[name.length-i]
end
return newstr
end
str=rev(first,last)
puts("the reverse is #{str}")
4
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
Output:
E:\OneDrive\Desktop\RUBY>ruby prog3.rb
enter the first name:
hello
enter last name:
kmit
the reverse is timk olleh
4. Write a Ruby script to accept a filename from the user print the extension of
that file.
5
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
Aim: To Write a Ruby script to accept a filename from the user print the
extension of that file.
Program:
file=gets.chomp
#filename
filename=File.basename file
puts("File name:"+filename)
#file basename
bname=File.basename file,".rb"
puts("Base name:"+bname)
#file extension
ffextn=File.extname file
puts("Extension:"+ffextn)
#path name
path_name=File.dirname file
puts("pathname:"+path_name)
Output:
E:\OneDrive\Desktop\RUBY>ruby prog4.rb
E:\OneDrive\Desktop\RUBY\prog.rb
File name:prog.rb
Base name:prog
Extension:.rb
pathname:E:\OneDrive\Desktop\RUBY
6
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
Output:
7
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
E:\OneDrive\Desktop\RUBY>ruby prog5.rb
enter three number:
6
5
4
greatest 6
E:\OneDrive\Desktop\RUBY>ruby prog5.rb
enter three number:
6
6
6
all are equal x=6 y=6 z=6
8
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
Program:
puts("enter a number:")
a=gets.to_i
def oddn(a)
while(a>0)
if(a%2!=0)
puts("output:#{a}");
end
a=a-1
end
end
oddn(a)
Output:
9
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
E:\OneDrive\Desktop\RUBY>ruby prog6.rb
enter a number:
15
output:15
output:13
output:11
output:9
output:7
output:5
output:3
output:1
7.Write a Ruby script to check two integers and return true if one of them is 20
otherwise return their sum.
10
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
Aim: to Write a Ruby script to check two integers and return true if one of them
is 20 otherwise return their sum.
Program:
puts("enter a:")
a=gets.to_i
puts("enter b:")
b=gets.to_i;
def sum(a,b)
if(a==20 or b==20)
puts("true")
else
puts("sum:#{a+b}")
end
end
sum(a,b)
Output:
11
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
enter a:
5
enter E:\OneDrive\Desktop\RUBY>ruby prog7.rb
b:
6
sum:11
E:\OneDrive\Desktop\RUBY>ruby prog7.rb
enter a:
5
enter b:
20
true
8. Write a Ruby script to check two temperatures and return true if one is less
than 0 and the other is greater than 100.
12
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
Aim: To Write a Ruby script to check two temperatures and return true if one is
less than 0 and the other is greater than 100.
Program:
puts("enter temperatures:")
t1=gets.to_i
t2=gets.to_i
def temp(t1,t2)
if(t1<0 and t2>100)
puts("true")
else
puts("false")
end
end
temp(t1,t2)
Output:
E:\OneDrive\Desktop\RUBY>ruby prog8.rb
enter temperatures:
-1
101
true
E:\OneDrive\Desktop\RUBY>ruby prog8.rb
enter temperatures:
1
99
False
9. Write a Ruby script to print the elements of a given array in reverse order.
13
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
Aim: To Write a Ruby script to print the elements of a given array in reverse
order.
Program:
puts("enter array size:")
n=gets.to_i
arr=[]
for i in 0..n-1
print("enter elements:")
arr[i]=gets.to_i
end
def revarr(arr)
size=arr.length
puts("reverse elements are:")
for i in 1..size
puts("#{arr[size-i]}")
end
end
revarr(arr)
Output:
E:\OneDrive\Desktop\RUBY>ruby prog9.rb
enter array size:
14
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
5
enter elements:1
enter elements:2
enter elements:3
enter elements:4
enter elements:5
reverse elements are:
5
4
3
2
1
10. Write a Ruby program to retrieve the total marks where subject name and
marks of a student stored in a hash.
15
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
Aim: To Write a Ruby program to retrieve the total marks where subject name
and marks of a student stored in a hash.
Program:
def totalmarks(stu_marks)
total_marks=0
stu_marks.each{|key,value|
total_marks+=value}
puts("Total marks:"+total_marks.to_s)
end
student_marks=Hash.new 0
puts("enter three subject marks:")
student_marks['Ruby']=gets.to_i
student_marks['TCL']=gets.to_i
student_marks['PERL']=gets.to_i
totalmarks(student_marks)
Output:
E:\OneDrive\Desktop\RUBY>ruby prog10.rb
enter three subject marks:
10
50
100
Total marks:160
TCL SCRIPTS
11. Write a TCL script to find the factorial of a number using procedure.
Aim: To write a TCL script to find the factorial of a number using procedure.
16
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
Program:
proc factorial {n} {
set i 1; set prod 1
while {$i <= $n} {
set prod [expr $prod*$i]
incr i
}
return $prod
}
puts "factorial is [factorial 4]"
Output:
12. Write a TCL script that multiplies the number from 1 to 10.
Aim: To write a TCL script that multiplies the number from 1 to 10.
17
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
Program:
proc mul {n} {
set i 1
while {$i <= 10} {
set prod [expr $n*$i]
puts "$n x $i=$prod"
incr i
}
}
mul 4
Output:
13. Write TCL script for sorting a list using comparison function.
Aim: To Write TCL script for sorting a list using comparison function.
Program:
18
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
Output:
19
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
Program:
#1. Creatring list
#method3
20
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
set x 0
while {$x<[llength $list]} {
puts "$x--[lindex $list $x]"
incr x
}
Output:
CYBER
0--MECH
1--CHEM
2--CIVIL
3--CYBER
CSE ECE IT EIE AI ML MECH CHEM CIVIL CYBER
Program:
Output:
22
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
16. Write a TCL script to copy a file and translate to native format.
Aim: To write a TCL script to copy a file and translate to native format.
Program:
Output:
23
SCRIPTING LANGUAGES LAB
KESHAV MEMORIAL INSTITUTE OF TECHNOLOGY
24
SCRIPTING LANGUAGES LAB