一般來說這是更好地使用?:使用散列或case語句[紅寶石]
case n
when 'foo'
result = 'bar'
when 'peanut butter'
result = 'jelly'
when 'stack'
result = 'overflow'
return result
或
map = {'foo' => 'bar', 'peanut butter' => 'jelly', 'stack' => 'overflow'}
return map[n]
更具體地講,當我應該使用的情況下,語句和什麼時候應該簡單地使用散列?
這些似乎是比較奇怪的事情。情況是邏輯,哈希是一個數據結構。你有一個具體的例子,你試圖決定使用哪一個?上下文將幫助人們提供有用的答案。 – Greg 2010-05-09 20:39:51
作爲一般說明,可以(並經常)在ruby方法中省略return語句。在你的第一個例子中,假設除了返回結果之外,你沒有對'result'進行任何操作,你實際上可以刪除返回語句和賦值給'result'變量。 – 2010-05-09 23:20:59
我有時會使用user94154的方法,即使它感覺有點奇怪。我不認爲這是一個愚蠢的問題。 – 2010-05-09 23:28:07