ruby语言if嵌套问题
本帖最后由 youzhengchuan 于 2012-08-26 12:41 编辑弱弱的问一下ruby学习者们,ruby语言中,if不能嵌套的么?
下面这个程序的if语句块中使用了一个if嵌套:
#!ruby
value=ARGV
if value.kind_of? Integer then
if value.zero? then
puts "value is zero"
else
puts "value is not zero."
end
else
printf "[%s] is [%s]\n",value,value.class;
end
运行的时候报错:
# ruby obj 0
obj:10: syntax error, unexpected kTHEN, expecting kEND
obj:13: syntax error, unexpected $end, expecting kEND rehttp://www.imbarker.net/themes/1350697660/images/shouhou.jpg http://www.ruby-forum.com/topic/191713
我这也没什么问题。 我喜欢啊,请继续 支持你 回复 1# youzhengchuan
可以吧 这是基本的程序结构
irb(main):004:0> if 1;then
irb(main):005:1* if 0;then
irb(main):006:2* puts 0
irb(main):007:2> end
irb(main):008:1> end
0
=> nil 支持:victory:支持:victory: value=111
if value.kind_of? Integer then
if value.zero? then
puts "value is zero"
else
puts "value is not zero"
end
else
printf "[%s] is [%s]\n",value,value.class
end
这个是在Ubuntu下面的程序,可以正确运行的,没有问题,说明if是可以嵌套的啊
页:
[1]