के बजाय मैं अजगर में एक नौसिखिया हूं, और मैं लैम्ब्डा कार्यों के साथ खेल रहा था। मैं लैम्ब्डा फ़ंक्शन का उपयोग करके एक प्रोग्राम लिख रहा था जो अक्षर वर्णों को प्रिंट करने के लिए इनपुट वर्णों के एसीआईआई मान को +1 करता है। मेरा कोडपाइथन लैम्ब्डा फ़ंक्शन प्रिंटिंग <फ़ंक्शन <lambda> 0x7fcbbc740668 पर मूल्य
#!/usr/bin/python
import sys
try:
word = sys.argv[1]
except:
print "No arguments passed"
sys.exit(1)
def convert_ascii(char):
return "".join(chr(ord(char) + 1))
for i in word:
print convert_ascii(i)
print lambda x: chr(ord(i) + 1)
मेरे पास एक फ़ंक्शन कन्वर्ट_एएससीआई है जो लैम्ब्डा जैसा ही काम करता है। हालांकि, मेरा आउटपुट
/usr/bin/python2.7 /home/user1/PycharmProjects/test/Tut1/asciipl2.py "abc def ghi"
b
<function <lambda> at 0x7f0310160668>
c
<function <lambda> at 0x7f0310160668>
d
<function <lambda> at 0x7f0310160668>
!
<function <lambda> at 0x7f0310160668>
e
<function <lambda> at 0x7f0310160668>
f
<function <lambda> at 0x7f0310160668>
g
<function <lambda> at 0x7f0310160668>
!
<function <lambda> at 0x7f0310160668>
h
<function <lambda> at 0x7f0310160668>
i
<function <lambda> at 0x7f0310160668>
j
<function <lambda> at 0x7f0310160668>
इस स्क्रिप्ट का उद्देश्य लैम्ब्डा सीख रहा है, हालांकि इस कार्यक्रम को करने के अन्य तरीके हैं। कृपया मुझे बताएं कि मैं क्या गलत कर रहा हूं। निकास कोड 0
हालांकि ध्यान दें कि इस मामले में लैम्ब्डा बेकार है। इस उत्तर में कोड 'प्रिंट (सीआर (ord (x) + 1) के बराबर है)' – Atsch
ओपी का यह उद्देश्य सीखना है कि लैम्ब्डा अभिव्यक्ति कैसे काम करती है। इसका उपयोग करने के लिए * उचित * कहां है, इस विशेष प्रश्न के लिए विषय-वस्तु है। – chepner
हालांकि मैंने लैम्ब्डा कार्यों में एक्स के बजाय मुझे उपयोग किया, परिणाम भी वही था। लैम्ब्डा में, मैंने var को var के रूप में स्वीकार किया, लेकिन मैं इसे फिर से चालू कर दिया, और फिर भी यह काम करता था। कोई विचार क्यों? – pkill