7

私は英語のネイティブ スピーカーではありません。それにもかかわらず、それがばかげているように聞こえることは知っています。Python と C で書いていますが、仕組みがよくわかりませんunless

論理的な観点から考えるのは健全ですか?たとえば、if次のキーワードを考えてみましょうif condition。true の場合condition、コードが実行されます。の論理的な説明はunless何ですか?

他に考えられる方法はありますか?

4

4 に答える 4

24

unless xと同等ですif !x

于 2012-11-06T05:51:37.477 に答える
9

Ruby not モディファイア:

構文: 条件付きでない限りコード

conditional が 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 -- 値が設定されています

于 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

空腹 = 本当

空腹でなければ

puts 「Ruby プログラムを書いています!」

そうしないと

puts 「食べる時間!」

終わり

これが分かりやすい方法です

于 2016-06-26T07:55:17.240 に答える