2016-02-28 8 views
10

सरल सवाल है कि मैं googles के लिए एक सरल जवाब नहीं मिला है: ग्रोवी के प्रत्येक और प्रत्येक लूप के बीच क्या अंतर है?प्रत्येक के लिए ग्रोवी के बीच क्या अंतर है?

मैं एक साधारण उदाहरण बना दिया है और वाक्य रचना और व्यवहार समान लग रहे हैं:

[1, 2].each { println it } 
    [1, 2].forEach { println it } 

दोनों प्रिंट:

1 
2 

केवल उदाहरण मैं ग्रूवी भाषा प्रलेखन में दोनों के देखने पर स्पर्श करने लगता है लैम्ब्डा और बंद होने के बीच का अंतर, लेकिन मैं उन उदाहरणों से संबंधित नहीं हूं जिन्हें मैंने कोशिश की है।

, धन्यवाद

उत्तर

19

each() और forEach() के बीच पहली अंतर यह है कि each() ग्रूवी के GDK द्वारा प्रदान की गई है, जबकि forEach() जावा 8 (द्वारा प्रदान की जाती है तो यह जावा के पूर्व संस्करण में उपलब्ध नहीं है।

एक और अंतर जबकि forEach() एक Consumer स्वीकार करता है कि each() एक ग्रूवी बंद स्वीकार करता है। ग्रूवी से, इस अंतर को ध्यान देने योग्य नहीं है, क्योंकि ग्रूवी पारदर्शी रूप से coerces एक उपभोक्ता के लिए बंद।

+0

मैंने जावा के होने के बारे में भी सोचा नहीं था! धन्यवाद, यह समझ में आता है। – orbfish

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