लैम्ब्डा या प्रो का उपयोग कब किया जाना चाहिए? मैंने उन्हें अज्ञात कार्यों के रूप में वर्णित देखा है, लेकिन मैं इस अवधारणा को समझने के लिए संघर्ष कर रहा हूं। जब आप रूबी में एक का उपयोग कर सकते हैं, तो विशेष रूप से रूबी पर रूबी में किसी भी लिंक या उदाहरणों की सराहना करेंगे।रेल पर रूबी में लैम्ब्डा का उपयोग कब करें?
उत्तर
http://augustl.com/blog/2008/procs_blocks_and_anonymous_functions/ में कौन से ब्लॉक/procs/lambdas हैं, आप उनका उपयोग कैसे कर सकते हैं, और वे अन्य भाषाओं में फ़ंक्शंस की तुलना कैसे करते हैं, इसका एक रन-डाउन है। यह निश्चित रूप से आपके प्रश्न का उत्तर देता है।
क्या पता है कि अंतिम खंड 'lambdas पर एक नोट' एक मुद्दा यह है कि रूबी 1.8 में ही सच्चा और 1.9 में बदल है का उल्लेख किया - Ruby: Proc.new { 'waffles' } vs. proc { 'waffles' }
लैम्बडा named_scope
में असाधारण रूप से उपयोगी है, ताकि आप named_scopes
पर पैरामीटर पास कर सकें।
मैं नहीं दिख रहा है जहां पर रूबी के बीच भेद करना रेल और रूबी। यदि आप रेल एप्लिकेशन पर रूबी लिख रहे हैं, तो आप रूबी कोड लिख रहे हैं, इसलिए यदि यह रूबी में उपयोगी है, तो यह रूबी पर रूबी में उपयोगी होना चाहिए।
वैसे भी, इस लेख, Some Useful Closures in Ruby, सहायक होना चाहिए, साथ ही इस रूप में: http://www.robertsosinski.com/2008/12/21/understanding-ruby-blocks-procs-and-lambdas/
अच्छा बिंदु। कुछ प्रकार की चीट शीट जो लैम्ब्डा ले जाने वाली सभी अंतर्निहित विधियों को सूचीबद्ध करती है, वे समझ में आ सकती हैं, लेकिन यदि आप समझते हैं कि लैम्ब्डा क्या है, तो आपको ऐसी चीट शीट की आवश्यकता नहीं है। –
यह कोड का एक टुकड़ा आप के आसपास पारित करने के लिए अनुमति देता है।
named_scope :scoped_by_user, lambda {|user| {:conditions=>{:user_id=>user.id}}}
आप एक परियोजना मॉडल हैं और आप एक विशेष उपयोगकर्ता के लिए सभी परियोजनाओं प्राप्त करना चाहते हैं, तो आप कुछ कर सकते हैं:
यह named_scope में विशेष रूप से उपयोगी है, यह आप इस तरह कुछ करने के लिए अनुमति देता है इस तरह:
Project.scoped_by_user(123)
कहाँ मैं लैम्ब्डा देखा है इस्तेमाल किया परीक्षण में है ...
lambda do
post :create, :user => @attr
end.should_not change(User, :count)
लैम्ब्डा आपको यह सुनिश्चित करने के लिए अंत में यह परीक्षण करने की अनुमति देता है कि लैम्ब्डा ब्लॉक में निष्पादित कोड उपयोगकर्ता गिनती को बदलता नहीं है।
लैम्ब्डा क्या है?
अपने आईआरबी साथ आज़माएं।
lam = lambda { puts "Hello world"}
lam.class
#output is
=> Proc
रूबी में लैम्ब्डा प्रो क्लास का एक उदाहरण भी है। भेड़ का बच्चा procs का एक अलग स्वाद है।
प्रो क्या है?
प्रो ऑब्जेक्ट्स कोड के ब्लॉक हैं जो स्थानीय चर के सेट से बंधे हैं।
proc = Proc.new { puts "Hello World" }
proc.call
#output is
=> Hello World
एक proc और लैम्ब्डा के बीच क्या अंतर है?तुलना उपयोगिताओं को समझाएगी
लैम्बडास तर्कों की संख्या की जांच करें, जबकि प्रोसेस नहीं करते हैं।
multiply = lambda { |x,y| x*y }
multiply.call(2,3) #=>6
multiply.call(2) #ArgumentError: wrong number of arguments (1 for 2)
multiply = Proc.new {|x| x*x}
multiply.call(2) # =>4
multiply.call(2,3) # =>4 (It ignore the second argument)
lambdas और procs 'वापसी' कीवर्ड अलग ढंग से (उदाहरण के लिए नीचे दिए गए लेख पढ़ें)
इलाज में अधिक जानकारी के http://awaxman11.github.io/blog/2013/08/05/what-is-the-difference-between-a-block/
- 1. रेल पर रूबी में ज्ञापन का उपयोग कब करें
- 2. रेल पर रूबी का उपयोग
- 3. डुप्ली का उपयोग कब करें, और रूबी में क्लोन का उपयोग कब करें?
- 4. रूबी में $ stderr बनाम STDERR का उपयोग कब करें?
- 5. रेल पर रूबी: फॉर्म का चयन करें
- 6. रेल पर रूबी: OAuth2 :: AccessToken.post का उपयोग कैसे करें?
- 7. रेल ऐप में अपना खुद का रूबी मॉड्यूल बनाने पर विचार कब करें?
- 8. रूबी में हैश के बजाय स्ट्रक्चर का उपयोग कब करें?
- 9. रूबी में 'आवश्यकता', 'लोड` या' ऑटोलोड 'का उपयोग कब करें?
- 10. रेल पर रूबी में polymorphism का उपयोग करने के विकल्प
- 11. रूबी बनाम कब उपयोग करें PHP
- 12. रेल ऐप पर रूबी में क्लाइंट एसएसएल का उपयोग
- 13. रेल पर रूबी में शामिल टेबल का उपयोग करना
- 14. रेल पर रूबी में मॉडल का संस्करण
- 15. रेल मार्गों पर रूबी -
- 16. फेसबुक लॉगआउट कैसे करें - रेल एप्लिकेशन में कोड का उपयोग करके (रेल ओमियाथ पर रूबी)
- 17. स्क्लाइट पर प्रागमा का उपयोग कब करें?
- 18. PHP पर एमवीसी का उपयोग कब करें?
- 19. Response.Cookies पर Request.Cookies का उपयोग कब करें?
- 20. रेल पर रूबी में मैं
- 21. रूबी/रेल में वैश्विक या निरंतर चर का उपयोग करें?
- 22. रेल पर रूबी में ब्रेडक्रंब
- 23. रेल पर रूबी
- 24. रेल पर रूबी: स्ट्रिंग
- 25. रेल पर रूबी
- 26. रेल पर डॉक्सप्लिट रूबी
- 27. रूबी बनाम रूबी रेल पर
- 28. रेल पर रूबी: मॉडल
- 29. रेल पर रूबी: पथ
- 30. रेल पर रूबी:: submodels
फिर से तय करने के लिए इस महान लेख पढ़ें। धन्यवाद;) –
लिंक फिर से मर चुका है – JeffC
ब्लेह, फिर से खेद है। ठीक कर देंगे। –