मैं सोच रहा था कि स्केल में रिकर्सिव लूप लिखने का बेहतर तरीका है या नहीं।स्कैला में रिकर्सिव लूप कैसे करें
def fib(n: Int) = {
def loop(a: BigInt = 0, b: BigInt = 1, n: Int = n): BigInt = {
if(n==0) a
else loop(b, a+b, n-1)
}
loop()
}
मैं इसे इस
def fib(n: Int, a: BigInt = 0, b: BigInt = 1): BigInt = {
if(n==0) a
else fib(n-1, b, a+b)
}
लेकिन फिर प्रकार लिख सकते हैं ए और बी उजागर किया जाएगा और विधि के अंदर अब और समझाया नहीं।
यह काफी है कि यह कैसे किया जाता है (पहला उदाहरण)। आंतरिक 'डीफ़' यह भी सुनिश्चित करता है कि यह निजी है और पूंछ के पूंछ के लिए अनुकूलित किया जा सकता है। – huynhjl
दूसरा संस्करण पूंछ रिकर्सिव भी है। मैंने अगस्त में स्कैला भाषा मेलिंग सूची के इन पैरामीटर को निजी बनाने के लिए कुछ रास्ता जोड़ने की संभावना के बारे में पूछा और ब्याज की मौन/ब्याज की कमी के साथ मुलाकात की। http://www.scala-lang.org/node/10736 –
संक्षिप्त उत्तर: नहीं। –