if语句和除非语句之间的主要区别是什么?

时间:2015-06-01 12:14:32

标签: ruby if-statement statements

我是编程新手,我不明白其中的区别。我在Ruby编码。

3 个答案:

答案 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语言的目标之一是更接近真正的英语。关键字ifunless就是很好的例子。看看这个:

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?

unlessif相反,而不是写作:

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?