gpt4 book ai didi

ruby-on-rails - 基本的 Ruby/Rails 语法

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

我熟悉 Java 和 C,对 Ruby 相当满意,但有时会对某些 Ruby 语法感到困惑。

例如下面一行应该是什么?我假设我们正在调用函数 protect_from_forgery()?
但是 with::exception 的含义是什么?我猜 :exception 是一个散列值(例如 { :exception => "NullPtr"} )但是 with: 是什么?

protect_from_forgery with: :exception

最佳答案

该行中出现了很多语法糖。我认为让您感到困惑的是散列和符号的简写。如果您不熟悉符号,see here for a good tutorial .

删除所有语法糖后,该行可以写成:

protect_from_forgery({:with => :exception})

分解一下,即使没有大括号,发送到方法的最后一个参数也被视为散列。所以:

protect_from_forgery({:with => :exception})

等同于:

protect_from_forgery(:with => :exception)

当散列的键是符号时,可以通过将冒号放在单词的末尾而不是开头来定义散列和键。例如

protect_from_forgery(:with => :exception)

等同于:

protect_from_forgery(with: :exception)

最后,方法参数周围的方括号在 Ruby 中是可选的。所以:

protect_from_forgery(with: :exception)

等同于:

protect_from_forgery with: :exception

关于ruby-on-rails - 基本的 Ruby/Rails 语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27497971/

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