मान लीजिए कि मेरे पास मूल्यों की एक सरणी है [ए, बी, सी, डी, ...] और एक फ़ंक्शन f (x, ...) जो सत्य या गलत लौटाता है।सूची में और उसके लिए सबसे अच्छा कार्यात्मक दृष्टिकोण
[1,2,3,4].map {|x| f(x)} => [true true false true]
सबसे पहले, परिणामी सूची को सही या गलत मूल्य (AND के माध्यम से) में संक्षिप्त करने का सबसे अच्छा तरीका क्या है?
[true true false true]
लिए:
((true && true) && false) && true
द्विआधारी & & ऑपरेटर का संचयी जोड़ी के लिहाज से अनुप्रयोग का उपयोग वहाँ एक समारोह है कि मुझे मैप करने के लिए अनुमति होगी है?
इस मामले में फ़ंक्शन का मूल्यांकन करने की लागत प्रतिस्थापन है, इसलिए तर्कसंगत रूप से तर्कों (फ़ंक्शन एप्लिकेशन) का मूल्यांकन करने के लिए एक लिस्पी-शैली "और" का उपयोग करना चाहते हैं जब तक कि उनमें से कोई झूठा न हो। निर्धारित किया गया है कि:
!![1,2,3,4].each {|x| break false if !f(x) }
जो बदसूरत है। उम्मीद है कि ऐसा करने के लिए एक और शानदार तरीका है। मुझे पता है कि मैं ऐरे को एक नई समझ जोड़ सकता हूं, लेकिन उम्मीद कर रहा हूं कि इसमें कुछ अंतर्निहित है जो इससे बेहतर होता है। धन्यवाद
नाइटपिकिंग के लिए खेद है, लेकिन 'फिक्सनम' में पहले से ही विधियां हैं 'और' विषम? '...;) –
@Mladen Jablanovic, अच्छा बिंदु। इस उदाहरण के लिए मैं एक उपयोगकर्ता परिभाषित समारोह चाहता था। –