Can';“我不明白”;除非;Ruby中的关键字

Can';“我不明白”;除非;Ruby中的关键字,ruby,Ruby,我不是以英语为母语的人。我知道这听起来很愚蠢。我用Python&C编写,但我不能完全理解是如何工作的,除非是如何工作的 从逻辑的角度思考它是否健康?例如,考虑如果关键字:如果条件< /代码>。如果条件为真,则代码将运行。除非,否则的逻辑解释是什么 有没有其他的想法?Ruby,除非: 语法:代码除非有条件 如果条件为false,则执行代码。 例如: $var = 1 print "1 -- Value is set\n" if $var print "2 -- Value is set\n" u

我不是以英语为母语的人。我知道这听起来很愚蠢。我用Python&C编写,但我不能完全理解
是如何工作的,除非
是如何工作的

从逻辑的角度思考它是否健康?例如,考虑<代码>如果关键字:<代码>如果条件< /代码>。如果
条件
为真,则代码将运行。除非
,否则
的逻辑解释是什么

有没有其他的想法?

Ruby,除非:

语法:代码除非有条件

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

例如:

$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--设置值

最简单的方法是:
,除非
相反。它的工作原理(我认为)与
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
如果编写
除非foo
而不是
if,那么代码中的效果会更好!foo
-但这只是我的观点。在较长的形式中,您甚至可以使用
else
,但请不要使用


这里有一个。

,除非x
等同于
如果!x

饥饿=真

除非饿了

“我在写Ruby程序!”

否则

放上“该吃饭了!”

结束


这是理解

的简单方法,除非
在条件为
真时终止程序。当条件为
false
时,它与
if
完全相反,终止程序。可以安全地说
,除非a
if是同一事物!a