読者です 読者をやめる 読者になる 読者になる

論理演算子2

and : && (半角&がふたつ)

hoge && gonyo (hogeでもありgonyoでもある。両方true)

puts '水戸黄門の付き人の名は?'
person = gets.chomp

  if person == '助さん' && person == '格さん'
  puts 'ですよね'
 
  else
  puts 'ちがうよ!'
  end

えええ合ってると思ったのに。

moomin:ProgrammingRuby tomomi$ ruby variable.rb
水戸黄門の付き人の名は?
助さん格さん
ちがうよ!

助さんと格さんを行違いで書こうと思ったがこれもダメ。なんで。1人分しか書いてないからか?

moomin:ProgrammingRuby tomomi$ ruby variable.rb
水戸黄門の付き人の名は?
助さん
ちがうよ!

トライ2:

puts '水戸黄門の付き人ふたりの名は?'
person1 = gets.chomp
person2 = gets.chomp

  if person1 == '助さん' && person2 == '格さん'
  puts 'ですよね'
 
  else
  puts 'ちがうよ!'
  end

おおできた!そうか助さんと格さんは別の人物であるからperson1/person2という具合に分けて認識させないといけなかった。 'person1 = gets.chomp person2 = gets.chomp'の箇所はさらにすっきり書けそうな気がしていくつか試したけどダメでした。これで正しいのか。
また ターミナルに入力する順番はプログラムコードで指定した順でないとダメだということも判明。

moomin:ProgrammingRuby tomomi$ ruby variable.rb
水戸黄門の付き人ふたりの名は?
助さん
格さん
ですよね
moomin:ProgrammingRuby tomomi$ ruby variable.rb
水戸黄門の付き人ふたりの名は?
弥七
格さん
ちがうよ!
moomin:ProgrammingRuby tomomi$ ruby variable.rb
水戸黄門の付き人ふたりの名は?
格さん
助さん
ちがうよ!

not : ! (びっくりひとつ)

! hoge (hogeじゃない。つまり結果がfalseであることがtrue)

puts 2+4 != 3+3
puts 4+1 != 2+2

! の解釈は異なる(not)ものを真(true)とする。

moomin:ProgrammingRuby tomomi$ ruby variable.rb
false
true