gpt4 book ai didi

ruby - 检查方法的真实性是否也在条件语句 (if) 中运行它?

转载 作者:数据小太阳 更新时间:2023-10-29 07:31:34 24 4
gpt4 key购买 nike

  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 条件语句中放置一个方法并且不使用任何运算符(即:=、== 等)时,您是在检查该语句返回值的“真实性”。但是将方法放在条件中是否也会运行它?如果不是,如何为上述示例调用方法 save

最佳答案

当然,该方法被调用、执行并且其返回值用作您的 if 条件。

回顾一下:只有 nilfalse 是假值,任何其他值都被认为是 truthy

关于ruby - 检查方法的真实性是否也在条件语句 (if) 中运行它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40556239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com