def add
puts "\nAdd a restaurant\n\n".upcase
restaurant = Restaurant.new
print "Restaurant name: "
restaurant.name = gets.chomp.strip
if restaurant.save
puts "\nRestaurant Added\n\n"
else
puts "\nSave Error: Restaurant not added\n\n"
end
end
def save
return false unless Restaurant.file_usable?
File.open(@@filepath, 'a') do |file|
file.puts "#{[@name, @cuisine, @price].join("\t")}\n"
end
return true
end
私はチュートリアルからRubyでコーディングする方法を学んでいます。メソッドadd
は新しいインスタンスを作成し、それをファイルに保存します(メソッドsave
を使用)。条件付きif
では、直接呼び出されなかったと考えられるので、save
がどのように呼び出されたかを知りたいと思います。メソッドの真実性をチェックすることは、それを条件文(if)でも実行しますか?
if条件内にメソッドを配置し、そのステートメントの戻り値の「真実性」をチェックしている演算子(=、==など)を使用しないとわかります。しかし条件付きでメソッドを実行してもそれを実行しますか?そうでない場合は、上記の例のためにメソッドsave
がどのように呼び出されますか?
メソッドが呼び出されなかった場合、 'if'ステートメントはその条件の正当性をどのように評価しますか? –