【发布时间】:2015-04-05 00:23:55
【问题描述】:
我是新来的 ruby 和 rails 两者。我认为 Rails 是最好的 API 之一,而 ruby 非常独特,似乎 ruby 可以巧妙地做“假设”来帮助开发人员。但我不太确定延伸到什么程度。
我的问题是关于变量中的冒号。
到目前为止我所理解的是 :variable 在 ruby 中,是说这个变量将无法改变,这类似于其他语言中的常量。我对么??
然后我的困惑是,有时我会看到变量前面的冒号,像这样
Rails.application.config.session_store :cookie_store,
key: '_blog_session'
<%= link_to "Delete", article, confirm: "Are you sure?",
method: :delete %>
key:和method:前面都有冒号。这代表什么? 还有
Blog::Application.routes.draw.do
root :to => "articles#index"
end
变量之间有双冒号?
现在我猜测 Blog: 是一个变量,而 :Application 是常量。我怀疑它是,因为它没有意义。请赐教?
谢谢
【问题讨论】:
-
这既不是变量也不是常数。它是 Ruby Symbol 的字面语法。
Blog::Application语法与符号无关,它与解析 namespaces 有关。 -
澄清一下,你的意思是博客是一个命名空间吗?或者 Application 是一个命名空间?前面的冒号呢,比如方法:或键:
-
博客是命名空间。看看我提供的链接。
{method: 'delete'}等语法是哈希语法,相当于{:method => 'delete'}。 -
我明白了。我会检查你的链接,谢谢。那我应该给你分数。 :)
标签: ruby-on-rails ruby variables constants colon