Перебор хеша в Ruby: методы и примеры кода

Для перебора хеша в Ruby можно использовать различные методы. Вот некоторые часто используемые из них с примерами кода:

  1. 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
  2. each_key: метод each_keyперебирает каждый ключ в хеше.

    hash = { name: 'John', age: 30, city: 'New York' }
    hash.each_key do |key|
    puts key
    end

    Выход:

    name
    age
    city
  3. each_value: метод each_valueперебирает каждое значение в хеше.

    hash = { name: 'John', age: 30, city: 'New York' }
    hash.each_value do |value|
    puts value
    end

    Выход:

    John
    30
    New York
  4. 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"]
  5. 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' }