2010-08-03 33 views
5

FsUnit स्रोत कोड में असामान्य परिभाषा होती है:"आईडी" शाब्दिक परिभाषित कहां है?

let be = id

एफएसआई आउटपुट:

val was : ('a -> 'a)

"आईडी" का अर्थशास्त्र निम्नलिखित कथन का संश्लेषित रूप है:

let be x = x

FSI आउटपुट:

val be : 'a -> 'a

आप थोड़ा अंतर देख सकते हैं: बाद वाला उदाहरण अभिव्यक्ति को true के साथ वास्तविक बदलता है, जबकि पहला वाक्यविन्यास (true) के रूप में इसका प्रतिनिधित्व करेगा।

मुझे कौन सा पहेली है कि मुझे एफ # भाषा संदर्भ में "आईडी" का कोई संदर्भ नहीं मिल रहा है, न ही इसे "प्रोग्रामिंग एफ #" पुस्तक में वर्णित किया गया है। इसके अलावा, "आईडी" एक आरक्षित कीवर्ड नहीं है, मैं किसी अन्य चीज़ को "आईडी" असाइन कर सकता हूं, और फिर मैं इसे पहले उदाहरण में दिखाए जाने वाले तरीके से उपयोग नहीं कर सकता। तो मुझे आश्चर्य है कि क्या कोई एफ # दस्तावेज़ हैं जो इस शाब्दिक और इसके अर्थशास्त्र का वर्णन करते हैं।

उत्तर

12

इनमें से अधिकतर अंतर्निहित कार्यों को FSharp.Core लाइब्रेरी, Microsoft.FSharp.Core.Operators मॉड्यूल में परिभाषित किया गया है।

वे एमएसडीएन पर दस्तावेज हैं। यहां id: http://msdn.microsoft.com/en-gb/library/ee353607.aspx

+0

मैं देखता हूं। धन्यवाद, टिम। –

1

यह एक शाब्दिक जैसा दिखता नहीं है। यह एक समारोह की तरह दिखता है। विशेष रूप से, हस्ताक्षर और नाम से अनुमान लगाना, यह पहचान कार्य की तरह दिखता है।

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