2013-03-01 8 views
10

स्कैला में कॉल-बाय-नाम पैरामीटर के साथ एक अज्ञात फ़ंक्शन को कैसे परिभाषित करता है?कॉल-बाय-नाम पैरामीटर के साथ फ़ंक्शन शाब्दिक

val fun = (x: Boolean, y: =>Int) => if(x) y else 0 

इस कॉल-दर-मूल्य y के साथ अच्छी तरह से काम करता है, लेकिन कॉल-दर-नाम के साथ नहीं:

मैं निम्नलिखित की कोशिश की। क्यूं कर?

उत्तर

18

यह किया जा सकता है, लेकिन एक से थोड़ा अलग तरह से:

val fun: (Boolean, => Int) => Int = (x, y) => if (x) y else 0 
: मापदंडों से प्रकार अलग से घोषित
संबंधित मुद्दे