ruby - 有没有办法从代码的输出中取出括号?我想以用户友好的方式打印代码

标签 ruby

我能够弄清楚如何获取数组中保存最大值的索引。

示例:

b = [2, 3, 4, 4]
c = [2, 3, 4, 4].max
a=b.each_index.select{|i| b[i]== c}
puts a

=> [2, 3]

我不想得到[2, 3];我想去掉括号。此外,我想将 1 添加到索引中以获得:3, 4。我不想从 0 开始计数。

理想情况下,输出如下:

=> 3, 4

最佳答案

获得所需输出的最简单方法是使用 Array#join方法

puts [2, 3].join(', ')
# => 2, 3

如果您想要每个匹配项的序数而不是索引,最简单的方法是将它们映射到索引 + 1

[2, 3].map{ |i| i + 1 }
# => [3, 4]

总而言之,您的赋值和 puts 语句可以写为

a = b.each_index.select{ |i| b[i] == c }.map{ |i| i + 1 }.join(', ')
puts a

=> 3, 4

关于ruby - 有没有办法从代码的输出中取出括号?我想以用户友好的方式打印代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55484675/

相关文章:

javascript - 如何在 Haml 中使用 JavaScript 变量?

ruby - Nokogiri 替换 HTML 的 strip 内容

ruby-on-rails - 我如何使用 Rails 的 update_attributes 上传文件?

ruby-on-rails - RSpec 的期望如何在 ROR 中工作

ruby - 如何在 Ruby 脚本中清理原始 SQL

ruby - 处理数组并返回 bool 值

ruby - 如何在 Ruby 中使子进程超时

ruby Watir : Selecting a specific row

sql - Ruby 中用数组中的值替换字符串中的 '?' 的最优雅方法是什么

ruby-on-rails - 在 ruby​​ on rails 网站上运行 XNA 游戏