2016-08-04 8 views
5

मैंने आज कोड के इस ब्लॉक को देखा और यह सोच रहा था कि क्या इस प्रकार के संचालन कहीं और दस्तावेज किए गए हैं और ऐसा क्यों किया गया (प्रदर्शन, आदि)।गुणात्मक ऑपरेटर सेट के लिए दस्तावेज है?

var 
    Shift: TShiftState 
begin 
    if [ssShift, ssCtrl] * Shift <> [] then 
    begin 
    ... 
    end; 
end; 

यह मेरा परीक्षण से मेरे लिए लग रहा है और सिर्फ अगर शिफ्ट या तो ssShift या ssCtrl शामिल जाँच कर रहा है इस तरह कोड को देखकर। क्या यह दस्तावेज व्यवहार है या क्या यह इस तथ्य का लाभ उठा रहा है कि सेट वास्तव में आंतरिक रूप से पूर्णांक के रूप में संग्रहीत है?

+0

एक आंतरिक पूर्णांक प्रतिनिधित्व सब अपने आप में दिए गए गणना सक्षम करने के लिए पर्याप्त नहीं होगा:

यहाँ डॉक्स से तालिका का एक सारांश है। –

उत्तर

11

सेट के साथ उपयोग किए जाने पर गुणात्मक ऑपरेटर नहीं है; यह चौराहे ऑपरेटर है। यह दस्तावेज है, और पूर्व डेल्फी दिनों से किया गया है। Expressions देखें, खासकर सेट ऑपरेशंस पर अनुभाग। वे संघ, चौराहे, उप-और सुपर-सेट, समानता, असमानता और सदस्यता के लिए मानक गणितीय ऑपरेटरों हैं।

 
Operator Operation  Operand Types Result Type Example 
-------- ---------  ------------- ----------- ------- 
+   union  set   set   Set1 + Set2 
-   difference set   set   S - T 
*   intersection set   set   S * T 
<=   subset  set   Boolean  Q <= MySet 
>=   superset  set   Boolean  S1 >= S2 
=   equality  set   Boolean  S2 = MySet 
<>   inequality set   Boolean  MySet <> S1 
in   membership ordinal, set Boolean  A in Set1 
+0

धन्यवाद, यह वही है जो मैं ढूंढ रहा था। मैंने कभी अभिव्यक्तियों को देखने का विचार नहीं किया। मैं http://docwiki.embarcadero.com/RADStudio/Berlin/en/Structured_Types_(Delphi) के तहत सेट परिभाषाओं को देख रहा था। और मुझे वास्तव में पुराने टर्बो पास्कल दिनों से भाषा पर काम करने के बारे में पता होना चाहिए :) – Graymatter

+0

उस प्रलेखन के नीचे दिए गए लिंक का पालन करें ...... –

+1

सेट ऑपरेटर के लिए डॉकविकी में खोज करना आपको वह पृष्ठ देता है । –

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