मेरे पास एक रेक कार्य है जिसे मैंने नीचे सरलीकृत किया है। मैं विंडोज पर रूबी 1.9 का उपयोग कर रहा हूं।रेक कई कार्यों को लगातार क्यों नहीं डाल सकता है?
शायद आप नीचे रेक कार्य "list_all_levels" को कॉल करने के नतीजे अनुमान लगाना चाहते हैं? यह होना चाहिए:
"Hello level 1"
"Hello level 2"
"Hello level 3"
लेकिन मेरे लिए अज्ञात कारणों से, यह केवल "हैलो लेवल 1" प्रिंट करता है और फिर बंद हो जाता है।
यही है, यह हमेशा केवल पहला कार्य आमंत्रित करता है। अगर मैं "42" तर्क पास करने के लिए पहली पंक्ति बदलता हूं, तो यह "हैलो लेवल 42" प्रिंट करेगा और फिर रुक जाएगा।
मुझे आश्चर्य है कि यह क्यों नहीं कार्य को 3 बार आमंत्रित करता है और सभी 3 लाइनों को प्रिंट करता है? और क्या यह काम करने के लिए कोई तरीका है कि मैं कैसे उम्मीद करूंगा?
task :list_all_levels => [] do
Rake::Task[:list].invoke 1
Rake::Task[:list].invoke 2
Rake::Task[:list].invoke 3
end
task :list, [:level] => [] do |t, args|
puts "Hello level #{args.level}"
end
यह वास्तव में मेरा दिन बचा, धन्यवाद! – kizzx2
इसे 'निष्पादित करें' @ पांडावुड में बदलने के साथ सावधान रहें क्योंकि वे बिल्कुल वही नहीं हैं => [रेक निष्पादन बनाम invoke] (http://chrisroos.co.uk/blog/2007-12-06-ruby-rake -इनवोक-बनाम निष्पादित) – Ron
यह मेरे लिए बहुत प्रतिद्वंद्वी लगता है। कोई विचार है कि उन्होंने इसे ऐसा क्यों बनाया? – marcovtwout