2014-04-04 19 views

उत्तर

23

nanashi के उदाहरण का उपयोग करना, सुराग त्रुटि है जब आप कॉल f(g())

julia> g() = (1, 2, 3) 
g (generic function with 1 method) 

julia> f(a, b, c) = +(a, b, c) 
f (generic function with 1 method) 

julia> g() 
(1,2,3) 

julia> f(g()) 
ERROR: no method f((Int64,Int64,Int64)) 

यह बताता है कि इस यह खोल के बिना f को इनपुट के रूप में टपल (1, 2, 3) देता है। अनपॅक करने के लिए इसे एक इलिप्सिस का उपयोग करें।

julia> f(g()...) 
6 

जूलिया के मैनुअल में प्रासंगिक अनुभाग यहाँ है: http://julia.readthedocs.org/en/latest/manual/functions/#varargs-functions

+0

फ्लॉप पता tuples splatted किया जा सकता है, धन्यवाद! – AJcodez

+1

मैं 'एफ (जी() ...) '' '' लागू' पसंद करता हूं, और मुझे लगता है कि जूलिया में पहला मुहावरेदार है। –

+0

@AJcodez: क्या मेरे उत्तर को स्वीकृत के रूप में निकालना संभव है और इसके बजाय उत्तर के रूप में चिह्नित करें? मेरा मानना ​​है कि यह वैसे भी बेहतर है। – Manhattan

4

उपयोग apply

julia> g() = (1,2,3) 
g (generic function with 1 method) 

julia> f(a,b,c) = +(a,b,c) 
f (generic function with 1 method) 

julia> apply(f,g()) 
6 

अगर यह मदद करता है तो हमें बताएं।

संबंधित मुद्दे