Я бы сделал, как показано ниже: Enumerable#take
:
hash = {"a" => 1, "b" => 2, "c" => 3}
hash.take(hash.size-1).each do |k,_|
p k
end
# >> "a"
# >> "b"
Или, как показано ниже:
hash = {"a" => 1, "b" => 2, "c" => 3}
hash.keys.take(hash.size-1) # => ["a", "b"]
puts hash.keys.take(hash.size-1)
# >> a
# >> b
обновление (как на вопрос ОП - Хорошо теперь не могу печатать только последний элемент в явном виде?)
hash = {"a" => 1, "b" => 2, "c" => 3}
hash.keys.last # => "c"
Hash#keys
даст вам все ключи от этого хэша как массива. Итак, теперь вы можете вызвать Array#last
на этот массив, чтобы получить последний элемент.
Хорошо, как мне напечатать только последний элемент explicitlY? – user3307307
@ user3307307 см. Мое обновление. –
Вижу, спасибо за ответ – user3307307