gpt4 book ai didi

ruby-on-rails - 为什么 Rails 可以使用 `if` 作为哈希键但在 Ruby 中不能

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

在纯 Ruby irb 中,不能输入 {if: 1}。该语句不会终止,因为 irb 认为 if 不是符号,而是 if 语句的开始。

那么为什么 Rails 可以有 before_filter 接受 if 作为参数?该指南的代码如下:

class Order < ApplicationRecord
before_save :normalize_card_number, if: :paid_with_card?
end

unless 也会发生同样的事情。

最佳答案

这是一个 irb 问题,而不是 Ruby。

bash=> ruby -e "puts({if: 1})"
bash=# {:if=>1}

您可以改用pry。它将正确读取输入。

https://github.com/pry/pry

关于ruby-on-rails - 为什么 Rails 可以使用 `if` 作为哈希键但在 Ruby 中不能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39269032/

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