Как получить минимальное значение хеша и напечатать его ключ - PullRequest
0 голосов
/ 13 января 2019

Я получил

hash = {
  "Bitcoin" => "$6558.07",
  "Ethereum" => "$468.95",
  "XRP" => "$0.487526",
  "Sprouts" => "$4.5e-07"
}

чтобы получить максимум, что я делаю:

hash.max_by{ |k, v| v[1..v.length-1].to_f}
#=> ["Bitcoin", "$6558.07"]

но если я сделаю то же самое в течение минуты, как:

hash.min_by{ |k, v| v[1..v.length-1].to_f}
#=> ["Sprouts", "$4.5e-07"]

поэтому я попытался hash.min, но я не нашел, как поставить хороший ключ.

1 Ответ

0 голосов
/ 13 января 2019

Ваша единственная проблема в том, что вы не можете получить имя ключа?

Например, вы говорите, когда делаете:

puts hash.min_by{ |k, v| v[1..v.length-1].to_f}

вы получите

рассада

$ 4.5e-07

а вы просто хотите Sprouts? Если это так, вы просто пропали без вести .first

key_of_min = hash.min_by{ |k, v| v[1..v.length-1].to_f}.first

или puts линия

puts hash.min_by{ |k, v| v[1..v.length-1].to_f}.first

даст вам просто

рассада

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...