I beleve I can fly!

导航

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

posted on 2009-03-22 15:30  方云涛  阅读(1056)  评论(2)    收藏  举报