क्या कार्यात्मक प्रोग्रामिंग बस अलग है , या यह वास्तव में बहुत कठिन है ?
किसी ऐसे व्यक्ति को कहें जिसने पहले कभी प्रोग्रामिंग नहीं सीखी है, और उसे कार्यात्मक प्रोग्रामिंग सिखाई जाती है। किसी ऐसे व्यक्ति के विरुद्ध, जिसने पहले कभी भी प्रोग्रामिंग नहीं सीखी है, और अनिवार्य प्रोग्रामिंग सिखाई जाती है। जो वह मुश्किल हो जाएगा? या वही?
मेरा सवाल है: अब समस्या कहो कि ऊंट-मामला एक इनपुट है,
ऐसा qwe_asd_zxc_rty_fgh_vbn
बन जाता हैqweAsdZxcRtyFghVbn
प्रक्रियात्मक तरीका है:
- इसके साथ विभाजित करें
_
- पहले आइटम को छोड़ने वाले सरणी के माध्यम से लूप
- प्रत्येक प्रविष्टि के लिए हम पहले अक्षर को बड़ा करते हैं
- एक साथ परिणाम में शामिल हों
कार्यात्मक तरीका है:
- अगर
_
वापसी नहीं मिलीinput
input
पहले के साथ काटें_
(जैसे कि हमें मिलता हैqwe
औरasd_zxc_rty_gfh_cvb
)- के पहले अक्षर को
head
समाप्त करें और उसके साथ सम्मिलित करेंf(tail)
ठीक है अगर आपके पास एक कार्यात्मक-पृष्ठभूमि है और प्रक्रियात्मक-प्रोग्रामिंग में पर्याप्त अनुभव है, तो मैं पूछना चाहता हूं: क्या आपको प्रक्रियात्मक तरीके का पता लगाने में अधिक समय लगेगा या आपको कार्यात्मक तरीके का पता लगाने में अधिक समय लगेगा?
यदि आपके पास एक प्रक्रिया-पृष्ठभूमि है, लेकिन कार्यात्मक-प्रोग्रामिंग के साथ कई वर्षों का अनुभव है, तो मैं एक ही सवाल पूछना चाहता हूं: क्या आपको प्रक्रियात्मक तरीके का पता लगाने में अधिक समय लगेगा या कार्यात्मक का पता लगाने में आपको अधिक समय लगेगा। मार्ग?
x=x+1
एक unexpecting मस्तिष्क को उड़ा सकता है। कार्यात्मक प्रोग्रामिंग स्वाभाविक है, यह शुद्ध और दृढ़ सख्ती से गणितीय कार्यों से अधिक कुछ नहीं है।
map
एक उत्परिवर्ती लूप के बजाय चरण 3 के लिए उपयोग करते हैं। दूसरा तरीका यह है कि मैं केवल इस बात पर विचार करूंगा कि मानक पुस्तकालय में कोई स्प्लिट फ़ंक्शन नहीं है (जिस स्थिति में इसका उपयोग अनिवार्य समाधान की तुलना में किया जाना चाहिए जो उपयोग नहीं करता हैsplit
)।