Предложения Гарретта и Питера определенно помогут. Однако, если вы хотите, вы можете пойти дальше и легко превратить это в хеш.
values = ["name: hi", "pw: lol"]
hash = Hash[*values.map{|item| item.split(/\s*:\s*/)}.flatten]
# => {"name"=>"hi", "pw"=>"lol"}
Во второй строке много информации, поэтому позвольте мне указать на несколько улучшений:
- Разделение допускает гибкость в двоеточии, позволяя использовать любое количество пробелов как до, так и после.
- После вызова
map
у нас есть массив [["name", "hi"], ["pw", "lol"]]
Hash#[]
принимает список значений, которые будут отображаться как ключ, значение, ключ, значение, ... В результате нам нужно сгладить сопоставленный массив для передачи в Hash#[]
Поскольку я не знаю ваших точных потребностей, я не могу сказать, хотите ли вы хэш или нет, но приятно иметь такую возможность.