ruby语言入门教程(自己参考)
=begin
#这是ruby里面的多行注解和多行注解
=end
#puts
=begin
puts "helloworld!"
puts "hello","world"
puts "hello\
world"
=end
#p
=begin
p "fangyuntao"
p "fangyun";p "tao"
p "fang","yun","tao"
p "fang\
yun\
tao"
=end
#printf
=begin
printf "Number:%4.3f,String:%s",7.8,"hifyt!"
=end
#赋值语句
=begin
a=1;b=2+3
puts a
puts b
a,b=b,a
puts a
puts b
a=(b=2+3)+3
puts a
=end
#条件运算符
=begin
a=1;b=1.0;
puts a==b#==,!=比较两个对象的值是否相等,返回true,flase
puts a!=b
puts a.eql?(b)#比较两个对象的值和类型是否相等,返回true,flase
puts a.equal?(b)#比较两个对象内存地址是否相同
puts "aab"<=>"acb"#比较两个对象的大小:大于,等于,小于分别返回1,0,-1;第2个a的ascii小于,c返回-1.
puts [5]<=>[4,9]
puts (0..9)===3.14#右边的对象是否在左边区间之内,返回true,flase
##=~,!=用于匹配是否符合一个正则表达式
##<=,< >,>=标胶两个表达式的大小
=end
#if语句
=begin
if 3>=2
puts "3>=2"
else
puts "3<=2"
end
if 2>2
puts "2>2"
elseif 2==2
puts "2==2"
else
puts "2<2"
end
=end
=begin
unless 2!=2
puts "helloworld_unless_2!=2"
end
=end
#case语句
=begin
a="fyt"
case a
when "xiaofang"
puts "a is xiaofang"
when "fyt"
puts "a is fyt"
when "java fyt"
puts "a is java fyt"
else
puts "Sorry,I don't know."
end
=end
#while
=begin
a=1
while 10>a
puts "10>#{a}"
a=a+1
end
=end
#单行 while 循环
=begin
a=5
(puts "hello world" ;a=a+1;)while 10>a
=end
# while, until,for
=begin
a=1
while a<10
print a," "
a=a+1
end
a=1
until a>=10
print a," "
a=a+1
end
for i in 1..9
print i," "
end
=end
#break,next
=begin
`11099
\
83.c ='a'
for i in 1..4
if i==2 and c=='a'
c='b'
print "\n"
end
print i,c," "
end
puts "\n\n"
c='a'
for i in 1..4
if i==2 and c=='a'
c='b'
print "\n"
break
end
print i,c," "
end
puts "\n\n"
=end
=begin
c='a'
for i in 1..4
if i==2 and c=='a'
c='b'
print "\n"
next
end
print i,c," "
end
puts "\n\n"
=end
=begin
c='a'
for i in 1..4
if i==2 and c=='a'
c='b'
print "\n"
redo
end
print i,c," "
end
puts "\n\n"
=end
=begin
puts "演示redo"
c='a'
for i in 1..4
if i == 2 and c =='a'
c = 'b'
print "\n"
redo
end
print i,c," "
end
puts "\n\n"
=end
#求50以内的素数
=begin
for i in 2..50
f=true
for p in 2...i
if i%p==0
f=!f
break
end
end
print i," " if f
end
=end
#times , upto,downto,each,step
=begin
3.times{print "hi!"}
1.upto(9){|i| print i if i<7}
9.downto(1){|i|print i if i<7}
(1..9).each{|i|print i if i<7}
0.step(11,3){|i|print i}
=end
#求50以内的数组,建立一个全局数组
=begin
$arr=[]
$arr[0]=2
def add_prime(n)
3.step(n,2){|num|$arr<<num if is_prime? num}
end
def is_prime?(number)
j=0
while $arr[j]*$arr[j]<=number
return false if number %$arr[j]==0
j+=1
end
return true
end
add_prime(50)
print $arr.join(","),"\n"
=end