无法理解Ruby中的“除非”关键字

时间:2012-11-06 05:36:06

标签: ruby

我不是英语母语人士。我知道这听起来很愚蠢。我用Python编写的& C.但我不太明白unless是如何运作的。

从逻辑角度考虑它是否健康?例如,请考虑if关键字:if condition。如果condition为真,则代码运行。 unless的合理解释是什么?

有没有其他方法可以考虑它?

4 个答案:

答案 0 :(得分:24)

unless x相当于if !x

答案 1 :(得分:8)

最简单的方法是:unlessif相反。它与if

在同一个地方(我认为)有效
foo = nil
puts "This will not show" if foo
puts "But this will" unless foo

if foo then
  puts "This will not show"
end
unless foo
  puts "But this will"
end

如果你写unless foo而不是if !foo,代码看起来会更好 - 但这只是我的看法。在较长的表单中,您甚至可以使用else,但请不要

这是set of rules to follow to make the code more readable

答案 2 :(得分:7)

Ruby除非修饰符:

语法:除非条件

,否则为代码

如果条件为假,则执行代码。

示例:

$var =  1
print "1 -- Value is set\n" if $var
print "2 -- Value is set\n" unless $var

$var = false
print "3 -- Value is set\n" unless $var

这将产生以下结果:

1 - 设置值

3 - 设置值

答案 3 :(得分:0)

饿了=真

除非饿了

put"我正在编写Ruby程序!"

否则

放置"吃饭的时间!"

这是理解

的简便方法