每个循环都有基本数组 vs ruby​​ 数组

Posted

技术标签:

【中文标题】每个循环都有基本数组 vs ruby​​ 数组【英文标题】:Each loop with basic array vs ruby arrays 【发布时间】:2015-10-05 17:47:47 【问题描述】:

我注意到这两种创建在 ruby​​ on rails 中的每个循环的方法都会产生完全相同的结果。

使用普通数组方法[] 和其他ruby 方法%w() 有什么区别? (顺便问一下,第二种方法的真名是什么?)

普通数组

<% ['one', 'two', 'three', 'four', 'five'].each do |k| %>
    <div class="panel-<%= k %>">Panel <%= k.capitalize %></div>
<% end %>

红宝石

<% %w(one two three four five).each do |k| %>
    <div class="panel-<%= k %>">Panel <%= k.capitalize %></div>
<% end %>

【问题讨论】:

%w 只是前者的语法糖。 @mudasobwa %w 代表什么,还有其他类型的数组前缀吗? 存在一些这样的简码。有关带有一些解释的概述,请查看simpleror.wordpress.com/2009/03/15/q-q-w-w-x-r-s ruby-doc.org/core-2.2.0/doc/syntax/… "... 创建每个循环的方法" - 两个循环相同且与您的问题无关,[...]%w(...) 是创建 数组. 【参考方案1】:

两者都是一样的。

你可以试试

%w[]

用于创建字符串数组。 考虑这个SO answer 以获得更多文档

【讨论】:

以上是关于每个循环都有基本数组 vs ruby​​ 数组的主要内容,如果未能解决你的问题,请参考以下文章

Ruby - 遍历数组中的每个字符串并删除重复的字符

Ruby嵌套for循环以填充数组数组

如何在Ruby中对数组中对象的属性求和

如何从 Ruby 中的数组返回属性值?

循环遍历 D3 中的数组数组

循环嵌套数组生成不同长度的表