【问题标题】:%w{ models }.each do |dir| in Rails means?%w{ 模型 }.each 做 |dir|在 Rails 中是什么意思?
【发布时间】:2011-03-25 14:21:30
【问题描述】:

在 Rails 指南中出现了这种情况:

%w{ models }.each do |dir|

谁能解释一下 %w{ models } 是什么意思?以前从未见过。它是 ruby​​ 还是 rails 特定的。

谢谢

【问题讨论】:

  • 它必须在rails中做一些不同的事情;在纯红宝石中 %w{models} 将返回 ["models"]

标签: ruby-on-rails ruby


【解决方案1】:

%w{ foo bar baz } 创建一个数组["foo", "bar", "baz"],它是节省输入一些引号和逗号的快捷方式。 %{ models } 只是创建了一个数组["models"],这似乎有点多余,但可能只是为了保持样式一致(?)。

【讨论】:

  • 这可能是读者要在心里填写模型的名称。也许吧。
  • 是的,我第一个接受的 Ruby 答案。学习得到了回报……;D
  • 哇,当没有人回答时我把它作为评论留下了,因为我确信没有人会做这样的事情......
  • @deceze。也许作者有几个模型,每个模型都必须有自己的块。
  • @fayer 以.each do 开头似乎暗示了@Chuck 所说的:您应该在此处填写您的型号名称。不过,如果没有更多上下文,很难说。
【解决方案2】:

%w 允许您从由空格分隔的单词字符串创建一个数组。这是一个例子:

irb(main):001:0> %w{ foo bar baz }.each { |word| puts word }
foo
bar
baz
=> ["foo", "bar", "baz"]

这是一个不错的reference。它是一种 Ruby 主义,不是特定于 Rails 的

【讨论】:

  • 你有更好的链接。 :D
猜你喜欢
  • 2010-11-19
  • 1970-01-01
  • 2015-01-05
  • 2017-05-08
  • 2015-03-26
  • 2011-12-27
  • 2017-09-12
  • 2013-10-31
  • 1970-01-01
相关资源
最近更新 更多