Ruby on rails 通过对象循环更改每个循环的顺序
我有一个对象(作者)列表,并希望在它们之间循环打印一个属性(名称),其中一个属性(名称)以粗体显示,然后是每个循环的其余名称,具有以下输出: 名称A,名称B,名称C 名称B,名称A,名称C 名称C,名称A,名称B 我想我可以用Ruby on rails 通过对象循环更改每个循环的顺序,ruby-on-rails,Ruby On Rails,我有一个对象(作者)列表,并希望在它们之间循环打印一个属性(名称),其中一个属性(名称)以粗体显示,然后是每个循环的其余名称,具有以下输出: 名称A,名称B,名称C 名称B,名称A,名称C 名称C,名称A,名称B 我想我可以用来做这件事,除了,但是这个代码: titles.each do |t| ... list_without_current_name = t.authors.except(t.author) ... end 不删除作者,但给我其他人的完整列表只需将a.auth
来做这件事,除了,但是这个代码:
titles.each do |t|
...
list_without_current_name = t.authors.except(t.author)
...
end
不删除作者,但给我其他人的完整列表只需将a.author
更改为a
:
authors.each do |a|
print a
authors.except(a).each do |b|
print ", #{b}"
end
print "\n"
end
只需将a.author
更改为a
:
authors.each do |a|
print a
authors.except(a).each do |b|
print ", #{b}"
end
print "\n"
end
您可以像这样使用Array#permutation
方法
authors = ['Mark Twain', 'George Orwell', 'Ernest Hemingway']
authors.permutation.each do |p|
p.each_with_index {|author, i| i == 0 ? print_bold(author) : print_regular(author)}
end
您可以像这样使用Array#permutation
方法
authors = ['Mark Twain', 'George Orwell', 'Ernest Hemingway']
authors.permutation.each do |p|
p.each_with_index {|author, i| i == 0 ? print_bold(author) : print_regular(author)}
end
是否要在打印后删除作者?否,每次循环都应以粗体输出第一个作者,并以随机顺序输出该循环的其他作者?其他作者姓名应按字母顺序排列。我也编辑了我的问题,因为我忘记了一个重要的事实,那就是它是一个关联…所以,你需要的是为每个标题列出作者列表,每个列表都有不同的作者?你想在作者打印出来后删除它吗?不,每次循环都应该以粗体显示第一个作者,并以随机顺序输出该循环的其他作者?其他作者的姓名应按字母顺序。我也编辑了我的问题,因为我忘记了一个重要的事实,那就是它是一个关联…所以,你需要的是为每个标题列出作者列表,每个列表都有不同的作者?对不起,我编辑了这个问题。这是一个关联模型,在我“简化”时出错了对不起,我编辑了这个问题。这是一个关联模型,在我“简化”时出了问题