2012-10-07 20 views

उत्तर

24

वहाँ रूबी में यह करने के लिए कई तरीके हैं, जिनमें से एक में प्रोक उपयोग करने के लिए दिए गए हैं:

foo=Proc.new do |test| 
    puts test 
end 

3.upto(8) { foo.call("hello world") } 

Procs के बारे में और अधिक पढ़ें:

अद्यतन, उपरोक्त विधि फिर से लिखा जा सकता है निम्नानुसार:

# using lower-case **proc** syntax, all on one line 
foo = proc { |test| puts test } 
3.upto(8) { foo.call("hello world") } 

# using lambda, just switch the method name from proc to lambda 
bar = lambda { |test| puts test } 
3.upto(8) { bar.call("hello world") } 

सूक्ष्म मतभेदों के साथ वे मूल रूप से बहुत ही समान तरीके हैं।

और आखिरकार, मैंने जो कुछ भी रेखांकित किया है, उसके लिए शायद अधिक शानदार तरीके हैं, बेहतर तरीके से किसी से सुनने के लिए अच्छा हो। उम्मीद है की यह मदद करेगा।

+2

बहुत बहुत धन्यवाद। लिंक के लिए और भी अधिक। क्या आप इतने दयालु हो सकते हैं कि लैम्ब्स का भी उल्लेख शामिल है? ऐतिहासिक उद्देश्य के लिए। –

+0

@ शिंगेट्सू, मैंने लैम्ब्डा के साथ जोड़ा और अपडेट किया, साथ ही प्रो दृष्टिकोण के थोड़ा सरलीकृत संस्करण भी – stephenmurdoch

+3

@ शिंगेट्सू: लैम्ब्डा ऐतिहासिक नहीं हैं। प्रक्रियाओं के बजाय आपको लगभग हमेशा * उनका उपयोग करना चाहिए। वे अधिक पूरी तरह से विशेष रुप से प्रदर्शित हैं और मानक हैं। रॉबर्ट सोसिंकसी के पोस्ट का उल्लेख करने के लिए – Linuxios

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