我相信陣列主要用於從方法返回多個值:多個返回與數組值和哈希
def some_method
return [1, 2]
end
[a, b] = some_method # should yield a = 1 and b = 2
我想這是一種即Ruby提供語法糖。我們可以得到與哈希類似的結果,例如
def some_method
return { "a" => 1, "b" => 2 }
end
{"c", "d"} = some_method() # "c" => 1, "d" => 2
我正在尋找的結果{ "c" => 1, "d" => 2 }
,這顯然不會發生。有沒有其他辦法可以做到這一點?我知道,我們可以從方法返回一個哈希和存儲,並使用它,像這樣
def some_method
return {"a" => 1, "b" => 2}
end
hash = some_method()
如果有一個類似與數組,但使用哈希另一種方式只是好奇....
我想提出這個問題將是一個更簡單的方法......所有的
# If we have a hash
hash = {"a" => 1, "b" => 2}
# Is the following possible
hash = {2, 3} # directly assigning values to the hash.
OR
# another example
{"c", "d"} = {2, 3} # c and d would be treated as keys and {2, 3} as respective values.
無法複製。 – sawa
甚至沒有重載'='操作符 –
不清楚結果'{「c」=> 1,「d」=> 2}'中''c「'和'」d「'應該出現在哪裏從你的建議表單中'hash = some_method()'。 – sawa