私はここに推奨される解決策を試してみました - In Ruby, what is the cleanest way of obtaining the index of the largest value in an array?配列の最大値のインデックスを見つけるにはどうすればよいですか?
array = [nil, nil, nil, nil, nil, 0.9655172413793104, nil, nil]
idx = array.each_with_index.max[1]
しかし、いくつかの例外を取得しています:
ArgumentError: comparison of Array with Array failed
from (irb):4:in `each'
from (irb):4:in `each_with_index'
from (irb):4:in `each'
from (irb):4:in `max'
from (irb):4
from /Users/davea/.rvm/gems/ruby-2.4.0/gems/railties-5.0.3/lib/rails/commands/console.rb:65:in `start'
from /Users/davea/.rvm/gems/ruby-2.4.0/gems/railties-5.0.3/lib/rails/commands/console_helper.rb:9:in `start'
from /Users/davea/.rvm/gems/ruby-2.4.0/gems/railties-5.0.3/lib/rails/commands/commands_tasks.rb:78:in `console'
from /Users/davea/.rvm/gems/ruby-2.4.0/gems/railties-5.0.3/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
from /Users/davea/.rvm/gems/ruby-2.4.0/gems/railties-5.0.3/lib/rails/commands.rb:18:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'
'nil'が浮動小数点以下であるかどうかをどのように判断しますか? 'nil'がゼロに等しいと思うと仮定すると、' .map(&:to_f) 'をチェーンに詰め込むことができます。 –
最大値が複数ある場合はどうなりますか? –