@OrdeO
just......newbie

Почему не работает алгоритм в руби?

Есть массив
arr = [
{key: 1, value: some_value441},
{key: 2, value: some_value212},
{key: 3, value: some_value33},
{key: 4, value: some_value44},
]


есть алгоритм переводящий его в хеш.
arr.inject({}) do |previous, current|
  previous.merge({current[:id] => current[:title]})
end

Он работает и все хорошо, но я заметил если добавить в конец алгоритма current, он начинает выводить только одно значение, кто может объяснить почему так происходит, или что нужно прочесть что б это понять?
arr.inject({}) do |previous, current|
  previous.merge({current[:id] => current[:title]})
  current
end
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
longclaps
@longclaps
Чтобы это понять, нужно прочесть книжку про руби.
Есличо - там написано, что всякое выражение возвращает значение, а тело блока кода возвращает значение последнего выражения, а последнее выражение у тебя current.
Да, нужно прочесть книжку.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы