我有這樣的代碼:爲什麼返回跳過三元運算符產生的值?
def FirstFactorial(num)
num == 0 ? 1 : num * FirstFactorial(num - 1)
return num
end
然而,結果保持返還原物的說法。我怎樣才能返回我的三元運算符創建的結果?
我有這樣的代碼:爲什麼返回跳過三元運算符產生的值?
def FirstFactorial(num)
num == 0 ? 1 : num * FirstFactorial(num - 1)
return num
end
然而,結果保持返還原物的說法。我怎樣才能返回我的三元運算符創建的結果?
您需要設置num等於三元運算符的結果。或者像Elyasin的回答那樣回報它。
def FirstFactorial(num)
num = num == 0 ? 1 : num * FirstFactorial(num - 1)
return num
end
編輯: 雖然,記得在紅寶石返回的最後一行的結果,所以你可以只說:
def FirstFactorial(num)
num == 0 ? 1 : num * FirstFactorial(num - 1)
end
只是爲succint答案添加儘可能爲後人的緣故:
Ruby在方法聲明的最後一行使用隱式返回。
這樣:
def FirstFactorial(num)
num == 0 ? 1 : num * FirstFactorial(num - 1)
end
回報應該感到羞恥! – user12341234
啊!簡單一點,謝謝你的幫助:) – Shawn
你有太多等號..'NUM = 0? 1:num ....' – Buddy