7

我不是以英语为母语的人。我知道这听起来很愚蠢。我用 Python 和 C 编写。但我不太明白它是如何unless工作的。

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

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

4

4 回答 4

24

unless x相当于if !x

于 2012-11-06T05:51:37.477 回答
9

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

于 2012-11-06T05:39:58.887 回答
9

最简单的方法是:unless是 的对立面if。它在相同的地方(我认为)工作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,但请不要使用。

这里有一组规则可以让代码更易读

于 2012-11-06T05:45:28.727 回答
-1

饿了=真

除非饿

提出“我正在编写 Ruby 程序!”

别的

“吃饭时间到了!”

结尾

这是容易理解的方法

于 2016-06-26T07:55:17.240 回答