我是编程新手,我不明白其中的区别。我在Ruby编码。
答案 0 :(得分:1)
如果显而易见:如果条件为真,则执行一段代码。
除非相反:如果条件为假,则执行代码块。
http://www.codecademy.com/glossary/ruby/if-unless-elsif-and-else
答案 1 :(得分:0)
unless
等于if not
例如:
a= false
unless a
puts "hello"
end
=> hello
if not a
puts "hello"
end
=> hello
答案 2 :(得分:0)
Ruby语言的目标之一是更接近真正的英语。关键字if
和unless
就是很好的例子。看看这个:
if animal.can_speak?
animal.say 'Woof!'
end
# moreover, it can be transformed in one-line, which looks pretty awesome:
animal.say 'Woof!' if animal.can_speak?
unless
与if
相反,而不是写作:
if not animal.can_speak?
puts "This animal can't speak"
end
我们可以使用unless
,通常被视为更自然的方式:
unless animal.can_speak?
puts "This animal can't speak"
end
# it also has one-line approach:
puts "..." unless animal.can_speak?