youzhengchuan 发表于 2012-08-26 12:41

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

Sevk 发表于 2012-08-26 13:55

e66478 发表于 2012-10-26 10:46

rehttp://www.imbarker.net/themes/1350697660/images/shouhou.jpg

yangsf5 发表于 2012-11-18 21:31

http://www.ruby-forum.com/topic/191713
我这也没什么问题。

tulip0425 发表于 2012-11-24 15:38

我喜欢啊,请继续 支持你

zuerrong 发表于 2012-11-30 12:20

回复 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

Sevk 发表于 2012-11-30 12:22

rubyish 发表于 2013-02-06 15:20

支持:victory:支持:victory:

历史的哭泣 发表于 2013-03-27 16:32

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]
查看完整版本: ruby语言if嵌套问题