Hash'i Array'e çevirmek

Drifting Ruby podcast’ini izlerken çok kolay bir yöntem öğrendim.

Splat yöntemiyle, elimizdeki Hash’den key-value çiftlerinden oluşan bir Array üretebiliriz:

h = {foo: 1, bar: 2}
[*h] # => [[:foo, 1], [:bar, 2]]

my_array = [*h]
my_array # => [[:foo, 1], [:bar, 2]]

Bana, python’daki items()’ı anımsattı:

a = {'foo': 1, 'bar': 2}
a.items()
> [('foo', 1), ('bar', 2)]

Ek olarak aşağıdaki gibi kullanımlar da mümkün;

a = 1
[*a] # => [1]

user = "vigo"
[*user] # => ["vigo"]