यहाँ डॉक्स से एक अस्पष्ट उदाहरण है, इस ऑपरेटर का उपयोग: http://package.elm-lang.org/packages/elm-lang/core/3.0.0/Json-Decode#atवास्तव में क्या करता है: = ऑपरेटर एल्म में करता है?
उत्तर
कृपया ध्यान दें कि (:=)0.18.0
इन्फ़िक्स ऑपरेटरों
एल्म में से शुरू Json.Decode से निकाल दिया जाता है, तो आप कस्टम infix operators परिभाषित कर सकते हैं, उनके अस्तित्व का उद्देश्य कोड का एक अधिक पठनीय संस्करण प्रदान करने के लिए है। विडंबना यह है कि, जब आप अवधारणा से परिचित नहीं होते हैं, तो यह विपरीत होता है।
(:=) एक कस्टम इंफिक्स ऑपरेटर है, जो Json.Decode पैकेज द्वारा प्रदान किया गया है।
एक कस्टम इन्फ़िक्स ऑपरेटर के निम्न उदाहरण पर विचार करें:
import Html exposing (text)
(<|>) : String -> String -> String
(<|>) beginning end =
beginning ++ "Bar" ++ end
main =
text ("Foo" <|> "Buz") -- "FooBarBuz"
यह अत्यधिक कस्टम इन्फ़िक्स ऑपरेटरों के उपयोग से बचने के लिए सिफारिश की है।
चलिए (:=) ऑपरेटर पर वापस आएं।
प्रकार परिभाषा के लिए यह (:=) : String -> Decoder a -> Decoder a
, जिसका अर्थ है, हम उपलब्ध Decoder Primitives की सूची से, एक स्ट्रिंग और एक डिकोडर पारित करने के लिए है कि और एक नया विकोडक reruns, यह करने के लिए मैप किया गया एक स्ट्रिंग कुंजी के साथ की तरह दिखता है।
मूल कोड
जावास्क्रिप्ट दुनिया में, डिकोडर्स कॉलबैक कार्यों उस प्रकार की जाँच कर रहे हैं।
function decodeString(value) {
if (typeof value === 'string' || value instanceof String) {
return value;
}
crash('a String', value);
}
यहाँ और (:=) ऑपरेटर की एक जावास्क्रिप्ट बराबर है::
उदाहरण के लिए, यहाँ एक डिकोडर स्ट्रिंग आदिम है
function decodeField(field, decoder) {
return function(value) {
var subValue = value[field];
if (subValue !== undefined) {
return decoder(subValue);
}
crash("an object with field '" + field + "'", value);
};
}
टी एल; डॉ
(:=) नक्शे के लिए एक स्ट्रिंग कुंजी एक कॉलबैक (यह वास्तव में एक कॉलबैक नहीं है, लेकिन यह सबसे नज़दीक है जिसके बारे में आप सोच सकते हैं), जो जावास्क्रिप्ट ऑब्जेक्ट में मान के प्रकार की जांच करेगा, जब आप con इसे एल्म वैल्यू में वर्ट करें।
यह शब्दकोश आप पर काम कर रहे हैं के लिए एक महत्वपूर्ण लेता है और क्या एक विकोडक, के साथ वहाँ पाया डिकोड करने के लिए प्रयास करता है इस तरह के लोगों में बनाया के किसी भी रूप में या यहां तक कि अपने स्वयं के कस्टम एक।
यह अनिवार्य रूप से एक ही पहुंच at
है।
"name" := string
यह एक json स्ट्रिंग में किसी कुंजी के लिए एक विकोडक बनाता है: करने के लिए
at ["name"] string
बराबर है।
"name" := string
एक विकोडक कि "नाम" में मूल्य निकालता है और string
डिकोडर को पास कर बनाता है।
- 1. == ऑपरेटर वास्तव में क्या करता है?
- 2. क्या डॉलर ऑपरेटर ($) एल्म में समर्थित है?
- 3. == ऑपरेटर वास्तव में पाइथन शब्दकोश पर क्या करता है?
- 4. क्या करता है -एरेविथअरे वास्तव में क्या करता है?
- 5. सी # में वास्तव में क्या करता है?
- 6. पायथन में 'है' ऑपरेटर क्या करता है?
- 7. "= ~" ऑपरेटर शैल स्क्रिप्ट में क्या करता है?
- 8. इन्फिक्स ऑपरेटर हास्केल में क्या करता है?
- 9. ^ऑपरेटर क्या करता है?
- 10. autoplot.microbenchmark वास्तव में क्या साजिश करता है?
- 11. कुबर्नेट्स वास्तव में क्या करता है?
- 12. वास्तव में $ (...) क्या करता है। नक्शा() वापसी?
- 13. @ कॉम्पोनेंट सजावट वास्तव में क्या करता है?
- 14. इमेजस्विचर वास्तव में क्या करता है?
- 15. StreamingContextStates.Clone वास्तव में क्या करता है?
- 16. "setup.py clean" वास्तव में क्या करता है?
- 17. वास्तव में gcc -D_REENTRANT क्या करता है?
- 18. क्या org.apache.commons.lang.builder.CompareToBuilder वास्तव में करता है?
- 19. रैक हैंडलर वास्तव में क्या करता है?
- 20. numpy.apply_along_axis वास्तव में क्या करता है?
- 21. इवेंट कीवर्ड वास्तव में क्या करता है?
- 22. scala.concurrent.blocking - वास्तव में यह क्या करता है?
- 23. win32com.client.Dispatch ("WScript.Shell") वास्तव में क्या करता है?
- 24. एक्सकोड 'क्लीन' वास्तव में क्या करता है?
- 25. jquery $ वास्तव में क्या करता है?
- 26. वास्तव में arg_scope क्या करता है?
- 27. डेटाबेस सामान्यीकरण वास्तव में क्या करता है?
- 28. fillMode वास्तव में क्या करता है?
- 29. URLConnection.setDoOutput() को वास्तव में क्या करता है?
- 30. बीईक्यू निर्देश वास्तव में क्या करता है?
कृपया बताएं कि आप क्या समझ में नहीं आ रहे हैं या क्या काम नहीं कर रहा है।मैं इस सवाल को बंद करने के लिए मतदान कर रहा हूं * आप जो पूछ रहे हैं उसे अस्पष्ट करें * – Druzion
वाह, सभी उत्तरों के बाद यह सब स्पष्ट है। हर किसी के लिए बहुत धन्यवाद। मैं समझ नहीं पाया कि यह ऑपरेटर जेसन.डेकोड पैकेज के लिए विशिष्ट है, मैंने सोचा कि यह मूल से मूल है। –