如何将所有以数字开头的录音机分组在一起
How to group all recorders that start with a number together
我有一个简单的 rails 博客,它显示了所有艺术家的列表,我想将所有以数字开头的人分组到一个名为 0-9[=28 的组中=],后跟 a、b、c、d,其中 a、b、c、d 显示以相应字符开头的艺术家。
目前我可以对字符进行分组,但我不知道如何将数字合并为一个组。我拥有的是 0, 1, 2...9 其中 0..9 是数组的单个组。
我的控制器代码如下
@artists = Artist.order(name: :asc).group_by{|u| u.name[0].upcase}
我的排序代码是
<% @artists.each do |letter, artists| -%>
<h4><%= letter %></h4>
<ul>
<% artists.first(4).each do |artist| -%>
<li><%= render artist %></li>
<% end -%>
</ul>
<% end %>
这给了我这里的结果 http://netpod.site.com.ng/artists
其中一切都很好。但是我想把那些有数字的作为一个数组集。
我不确定我是否 100% 正确地理解了问题,但我认为您正在寻找类似的东西:
["12-d", "50 cent", "ACDC", "Mr Cool"].group_by{ |artist| ((artist =~ /[0-9]/) ? "numbers" : artist[0]) }
这会 return:
{"numbers"=>["12-d", "50 cent"], "A"=>["ACDC"], "M"=>["Mr Cool"]}
我有一个简单的 rails 博客,它显示了所有艺术家的列表,我想将所有以数字开头的人分组到一个名为 0-9[=28 的组中=],后跟 a、b、c、d,其中 a、b、c、d 显示以相应字符开头的艺术家。
目前我可以对字符进行分组,但我不知道如何将数字合并为一个组。我拥有的是 0, 1, 2...9 其中 0..9 是数组的单个组。
我的控制器代码如下
@artists = Artist.order(name: :asc).group_by{|u| u.name[0].upcase}
我的排序代码是
<% @artists.each do |letter, artists| -%>
<h4><%= letter %></h4>
<ul>
<% artists.first(4).each do |artist| -%>
<li><%= render artist %></li>
<% end -%>
</ul>
<% end %>
这给了我这里的结果 http://netpod.site.com.ng/artists 其中一切都很好。但是我想把那些有数字的作为一个数组集。
我不确定我是否 100% 正确地理解了问题,但我认为您正在寻找类似的东西:
["12-d", "50 cent", "ACDC", "Mr Cool"].group_by{ |artist| ((artist =~ /[0-9]/) ? "numbers" : artist[0]) }
这会 return:
{"numbers"=>["12-d", "50 cent"], "A"=>["ACDC"], "M"=>["Mr Cool"]}