-1
def a
  puts 'a'
end

def b
  puts 'b'
end

p a || b #=> prints both 'a' and 'b' although it would only print a

p a && b #=> prints only a

どうしたの?私は1.9.3を使用しています

編集: puts returns nil を忘れていましたが、最初の回答のおかげで意味がわかりました:)

4

1 に答える 1

3

:putsmethod が を返すので、 operatornilの 2 番目の引数が評価されないため、何もおかしくありません。ただし、最初のケースでは、メソッドが を返したため、 へ&&の呼び出しと への呼び出しの両方を取得しました。:a:b:anil

于 2014-01-01T14:37:08.737 に答える