2012-10-03 91 views

回答

3

如果1> 2则为真,否则为假。

但是,无论条件结果如何,它都会打印hi

这是相同的是:

if 1 > 2 then 
    true 
else 
    false 
end 
puts 'hi' 
+1

谢谢。看起来我正在推翻这一个。 –

+0

没问题!如果您同意,请考虑将其标记为已接受。 –

0

Ruby的编译器读取这样的:

1.>(2) 
puts "Hi" 

三元操作符? :是多余的。比较'大于'符号:>实际上是数字类的一种方法。

2

你可以看一下这就像

1 > 2 ? true : false # first line of code 
puts "Hi" #second line of code 
0

分号是分离的两行代码的一个内联的方法。所以,它就像

1 > 2 ? true : false 
puts "Hi" 

这相当于

false 
puts "Hi" 

当然行,只是说:false不会做任何事情(除了少数情况下,一样,如果它是一个函数的最后一行在这种情况下,如果该方法到达该行,该方法返回false)。

0

1> 2?真假;把“你好”,这意味着

if 1 > 2 
    return true 
else 
    return false 
end 
puts "Hi" 

这里,每个时间里指的是什么,它会打印“喜”,是因为我们在境外打印“嗨”。

if 1 > 2 
puts "1 is not greater than 2" 
else 
puts "1 is greater than 2" 
end 

还可以测试你的控制台

1.9.3p125 :002 > if 1 > 2 
1.9.3p125 :003?> puts "1 is not greater than 2" 
1.9.3p125 :004?> else 
1.9.3p125 :005 >  puts "1 is greater than 2" 
1.9.3p125 :006?> end 
1 is greater than 2 
=> nil 
相关问题