Для перебора хеша в Ruby можно использовать различные методы. Вот некоторые часто используемые из них с примерами кода:
-
each: метод
eachпозволяет перебирать каждую пару ключ-значение в хеше.hash = { name: 'John', age: 30, city: 'New York' } hash.each do |key, value| puts "#{key}: #{value}" endВыход:
name: John age: 30 city: New York -
each_key: метод
each_keyперебирает каждый ключ в хеше.hash = { name: 'John', age: 30, city: 'New York' } hash.each_key do |key| puts key endВыход:
name age city -
each_value: метод
each_valueперебирает каждое значение в хеше.hash = { name: 'John', age: 30, city: 'New York' } hash.each_value do |value| puts value endВыход:
John 30 New York -
map: метод
mapпозволяет преобразовать хэш в массив, применяя блок кода к каждой паре ключ-значение.hash = { name: 'John', age: 30, city: 'New York' } transformed_array = hash.map do |key, value| "#{key}: #{value}" end puts transformed_arrayВыход:
["name: John", "age: 30", "city: New York"] -
select: метод
selectпозволяет фильтровать хэш по определенным критериям.hash = { name: 'John', age: 30, city: 'New York' } selected_hash = hash.select do |key, value| value.is_a?(String) end puts selected_hashВыход:
{ name: 'John', city: 'New York' }