最近在Ruby中編碼的時候,當我需要分配不同,這取決於一些輸入的方法的變化,我一直在使用這樣的哈希過:變量賦值使用哈希VS if語句
variable = { "option1" => [1,2,3], "option2" => [3,2,1]}[input]
事情我最喜歡這種方法的可擴展性:輸入可以是五個不同的值之一,其中if
語句會有點混亂。
但是我在這樣做時會輸掉什麼?需要初始化哈希時需要更大的內存使用量?比較慢?更快?
爲了比較,等效if
說法可能是:
variable = Array.new
if input.eql?("option1")
variable = [1,2,3]
else
variable = [3,2,1]
end
(是的,我可以用?
符號的兩個選項,而不是更多,所以我想表現的比較結構。)
'option1'和'option2'的值是否有任何關係?如果是這樣,也許你會想使用'sort()'。 – taiansu
@TaianSu在這個例子中,但我沒有使用它。但謝謝你的提示。我會記住它,如果有未來 –