जेली , 47 पूर्णांक, 519 बाइट्स
e
BI$⁼#
⁾⁾⁾Ụ^/
ı***ıḞḞ
5
6
7
.::::
9
EȮ<
⁻GṘ
=`p`VV×`DQV
~A~A~A~A~A~A~A~A~A~A~A~A~A
⁷ṾṾṾw
⁴ḟ€⁴Ṁ
mmmmċ
ṭṭṭṭṭṭṭṭḍḄḄḄḄḄḄḄḄḄ
+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ
CNCNCNCNCNCNCNCNCNCNCNCNCNCNCNCNCNCNC
ĖḌĖḌ
ṫṣȦJṫȦ⁸ȦJ
22
“@ṃ»
!ḤḤ!
³HH
ØaM
;;;;;;;;;;;;;;;;;;;;;;;;;;;¬¬ḅ¬
irið8c
⁶ḲĠṂ°İṂĊ
œṡ¹ẆẆTUṖṖṖṖP
ȷ½RṪ
LµdddddµFL
33
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWŒḊ
ẇɓæ«æ«æ«æ«æ«|æ«|
⁹ṚḢ²
‘‘‘0‘‘‘‘‘‘‘
’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’ạ
-____---__________
”(O
⁵ḶxḶ⁵ị⁵ḶxḶḣṢ
⁽{ʂ%⁽{}
ẊẠżv©żvżvżvọ®®Ạżvżvżvọ®
44
111111l11&K1111111Kl11&
,SS¶ỊỊ,ÇS¶ÇÑÇÇÇÑ
ÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆn
हर पंक्ति एक अलग, पूर्ण कार्यक्रम है।
इसे ऑनलाइन आज़माएं! (परीक्षण सूट और चौराहे चेकर शामिल हैं)
यह काम किस प्रकार करता है
कमांड लाइन के तर्कों के बिना हर पूरा कार्यक्रम अपने मुख्य लिंक (अंतिम पंक्ति पर परिभाषित) को बिना किसी इनपुट के, अर्थात्, अनैतिक रूप से निष्पादित करता है। यदि श्रृंखला में पहला लिंक एक निलाद है, तो इसका सेवन किया जाता है, कहा जाता है, और दोनों मुख्य लिंक के तर्क और वापसी मूल्य परिणाम पर सेट होते हैं; यदि श्रृंखला में पहला लिंक एक मोनाड या डियाड है, तो इसका उपभोग नहीं किया जाता है और इसके बदले निहित तर्क और वापसी मान 0 का उपयोग किया जाता है। दोनों ही मामलों में, श्रृंखला के शेष भाग को मौद्रिक रूप से निष्पादित किया जाता है।
जेली कई मामलों में अपने उत्पादन का प्रबंधन करती है। विशेष रूप से, एक एकल सरणी अपने आसपास के कोष्ठक के बिना मुद्रित होती है, इसलिए 42 और [42] और मुद्रण के बाद अप्रभेद्य। हम कई मौकों पर इसका इस्तेमाल करेंगे।
1 - 10
e
मौजूद परमाणु परीक्षण करता है, तो वापसी मान 0 तर्क के अंतर्गत आता है 0 । यह करता है, इसलिए 1e लौटाता है ।
BI$⁼#
BI$एक क्विकलिंक है, विशेष रूप $से द्विआधारी परमाणु Bऔर इंक्रीमेंट परमाणु के त्वरित समूह द्वारा बनाई गई एक मौद्रिक श्रृंखला है I। संयुक्त, वे एक पूर्णांक को आधार 2 में अपने अंकों की सरणी में परिवर्तित करते हैं, फिर परिणामी अंकों के आगे के अंतरों की गणना करते हैं। यदि सरणी में केवल एक तत्व है, तो कोई फ़र्क नहीं है और Iखाली सरणी (मिथ्या) लौटाता है; यदि कम से कम दो अंक हैं, तो Iएक गैर-खाली सरणी (सत्य) देता है।
त्वरित #पिछले क्विकलिंक का उपभोग करता है और इसे 0 , 1, 2,… तक लागू करता है जब तक कि पर्याप्त मैचों को रिटर्न नहीं मिलता है, मैचों की सरणी देता है। आवश्यक राशि की गणना की जाती है ⁼, जो कि रिटर्न वैल्यू / तर्क 0 से खुद की तुलना करता है, उपज 1 । इस प्रकार, पूरा कार्यक्रम वापस आ जाता है [2] , आधार 2 में दो अंकों के साथ पहला गैर-नकारात्मक पूर्णांक।
⁾⁾⁾Ụ^/
⁾⁾⁾एक स्ट्रिंग शाब्दिक, विशेष रूप से स्ट्रिंग है ⁾⁾ । ग्रेड ऊपर परमाणु Ụउनके संबंधित मान द्वारा अपने सूचकांक क्रमबद्ध करता; चूँकि दोनों वर्ण समान हैं, इसलिए इसकी पैदावार [1, 2] है । परिणामी सरणी बिटवाइज़ एक्सओआर के साथ कम हो जाती है ^/, इसलिए पूरा कार्यक्रम 3 रिटर्न करता है ।
ı***ıḞḞ
ıआरंभिक तर्क और वापसी मूल्य को काल्पनिक इकाई i । *है घातांक युग्म, जिसका सही तर्क मुख्य कड़ी के तर्क को चूक। इस प्रकार, ***ıcomputes ((मैं मैं ) मैं ) मैं ≈ 4.81 + 0i , Ḟपरमाणु ( मंजिल असली तर्क, के लिए वास्तविक हिस्सा जटिल लोगों के लिए) असली हिस्सा (गणना करता है 4.81 ), तो Ḟफर्श, उपज 4 ।
5
6
7
इन तीन कार्यक्रमों में एक एकल शाब्दिक शामिल है और आप जो अपेक्षा करते हैं, वही करते हैं।
.::::
शाब्दिक 0.5 के. लिए एक शॉर्टहैंड है और तर्क और वापसी मूल्य को इनिशियलाइज़ करता है। पूर्णांक विभाजन युग्म के ( ) मुख्य लिंक तर्क को सही तर्क चूक है, तो गणना करता है 0.5 / 0.5 / 0.5 / 0.5 / 0.5 , उपज 8 ।:::::
9
एक और शाब्दिक।
EȮ<
सभी को समान परमाणु Eरिटर्न 1 अगर इसके तर्क में सभी तत्वों के बराबर हैं, और 0 नहीं तो। एक पूर्णांक तर्क z को [z] प्रचारित किया जाता है , इसलिए निहित तर्क 0 के लिए 1E वापस आ जाएगा ।
अब, आउटपुट परमाणु 1 से STDOUT को Ȯप्रिंट करता है । हम फिर 1 की तुलना में निहित तर्क 0 के साथ परमाणु की तुलना में कम का उपयोग करते हैं । परिणाम (1 <0) = 0 है , और जब कार्यक्रम समाप्त होता है, तो इसे स्पष्ट रूप से मुद्रित किया जाता है।<
11 - 20
⁻GṘ
ग्रिड परमाणु Gअपने तर्क से एक नेत्रहीन मनभावन तालिका बनाने के लिए कोशिश करता है। एक सादे पूर्णांक तर्क के लिए (यहाँ: 0 ), यह बस इसे एक सरणी में लपेटता है। फ्लैट नहीं-बराबर परमाणु ⁻अंतर्निहित तर्क तुलना 0 सही (करने के लिए परिणाम के साथ [0] ), उपज 1 के बाद से अपने तर्कों बराबर नहीं हैं। प्रतिनिधित्व परमाणु Ṙप्रिंट 1 STDOUT करने के लिए और इसके परिणाम देता है। कार्यक्रम के अंत में, अंतिम रिटर्न मान को स्पष्ट रूप से मुद्रित किया जाता है, इसलिए हम 11 के आउटपुट के साथ समाप्त होते हैं ।
=`p`VV×`DQV
स्वयं त्वरित `समान छोड़ दिया और सही तर्क के साथ यह फोन करके एक इकाई में एक युग्म बदल जाता है। सबसे पहले, =`निहित तर्क 0 की तुलना अपने आप से, उपज 1 ।
कार्तीय उत्पाद परमाणु pअपने तर्कों के रूप में सूचियों की उम्मीद है, तो यह पूर्णांक को बढ़ावा देता है 1 करने के लिए रेंज [1, ..., 1] = [1] । p`कार्टेजियन उत्पाद [1] और स्वयं, उपज [[1, 1]] लेता है ।
Eval परमाणु V, सभी फ्लैट सरणियों तार में (केवल नंबर और वर्ण से युक्त) बदल जाता है तो niladic जेली कार्यक्रमों के रूप में जिसके परिणामस्वरूप तार मूल्यांकन करता है। [[१, १]] को पहले [११] में बदल दिया जाता है , फिर Vस्ट्रिंग को निकालते हुए, [११] पैदावार दी जाती है । एक बार और, Vइस सरणी को "11" में बदल देता है , और फिर इसे 11 उपज देता है ।
अब, अपने आप से 11×` गुणा , 121 की उपज । दशमलव परमाणु बदल जाता है 121 में [1, 2, 1] , अद्वितीय परमाणु को छोड़ देता है दूसरा 1 , और एक बार फिर पूर्णांक है कि, उन्हें श्रृंखलाबद्ध लौटने से परिणाम में अंक की एक सूची बदल जाता है 12 ।QV
~A~A~A~A~A~A~A~A~A~A~A~A~A
~है बिटवाइज़ नहीं परमाणु। दो पूरक अंकगणित के साथ, यह एक तर्क z को ~ z = - (z + 1) में मैप करता है । Aहै निरपेक्ष मूल्य परमाणु, तो यह नक्शे - (z + 1) = z + 1 । प्रारंभिक वापसी मान 0 के साथ , ~Aवापसी 13 की तेरह प्रतियां ।
⁷ṾṾṾw
स्थिरांक ⁷newline वर्ण '\ n' रखता है और तर्क और रिटर्न वैल्यू को इनिशियलाइज़ करता है।
Uneval परमाणु Ṿअपने तर्क के एक स्ट्रिंग प्रतिनिधित्व बनाने का प्रयास करता z ऐसी है कि एक जेली इस कोड से मिलकर कार्यक्रम वापसी होगी जेड ।
पहला कॉल कर्तव्यपरायणता से स्ट्रिंग "" \ n "" लौटाता है , जो एक अक्षर शाब्दिक है। अगला कॉल "" "," \ n "देता है - चरित्र शाब्दिकों की एक जोड़ी। तीसरा और अंतिम कॉल "" "," ",", ",", "\ n" - वर्ण शाब्दिक का एक क्विंटअपलेट है।
अंत में, खिड़की सूचकांक परमाणु wइसकी सही तर्क को बढ़ावा देता है '\ n' स्ट्रिंग के लिए "\ n" और सबस्ट्रिंग के साथ शुरू के पहले सूचकांक लगता है "\ n" । यह 14 देता है ।
⁴ḟ€⁴Ṁ
⁴लगातार 16 है । क्विकलिंक फ़िल्टरफ़्लैस प्रत्येक ( ḟ€) अपने बाएं तर्क 16 को रेंज [1,… 16 , ] तक बढ़ावा देता है , फिर अपने तत्वों पर निर्भर करता है।
प्रत्येक तत्व z के लिए , ḟ⁴निष्पादित किया जाता है, पहले z [z] को बढ़ावा देता है , फिर सभी (यदि कोई है) 16 को हटाता है । यह सरणी [[1], [2],…, [14], [15], []] को जन्म देता है , जहां अंतिम सरणी खाली है क्योंकि इसमें 16 शामिल हैं ।
अंत में, अधिकतम परमाणु [15]Ṁ का चयन करता है ।
mmmmċ
मॉड्यूलर परमाणु m- साथ बहस बुलाया एक्स (सरणी) और y (पूर्णांक) आम तौर पर हर लेता है y | | वें के तत्व एक्स पहले अगर साथ शुरू, y> 0 , पिछले अगर साथ y <0 । हालांकि, जब y = 0 होता है , तो यह एक्स को अपने रिवर्स के साथ वापस लौटता है ।
बाएं पूर्णांक तर्क 0 को पहले [0] में पदोन्नत किया गया है । mकॉकटेलेट्स की पहली प्रति [0] अपने आप से, उपज [0, 0] । शेष प्रतियाँ इस परिणाम को [0, 0, 0, 0] में बदल देती हैं , फिर [0, 0, 0, 0, 0, 0, 0] , और अंत में [0, 0, 0, 0, 0] , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] ।
अंत में, गिनती परमाणु 16 बार लौटते हुए परिणामित सारणी में ċअनुमानित तर्क 0 की संख्या को गिनता है ।
ṭṭṭṭṭṭṭṭḍḄḄḄḄḄḄḄḄḄ
ṭयह सौदा परमाणु है और इसके बाएं तर्क को इसके दाईं ओर जोड़ता है। के बाद से ṭऔर निम्नलिखित ḍdyadic कर रहे हैं, सभी के लिए कॉल ṭअंतर्निहित तर्क पारित 0 सही तर्क के रूप में ṭ। पहला कॉल रिटर्न देता है [0, 0] , दूसरा [0, [0, 0] , और आठवां और अंतिम [0, [0, [0, [0, [0, [0, [0,] 0, [0] ०]]]]]]]] ।
ḍहै विभाज्यता परमाणु; तर्क x और y के लिए , यह रिटर्न 1 है x x से विभाज्य है y , 0 नहीं तो। Ḅपूर्णांक के लिए कोई ऑप नहीं है, इसलिए निर्मित सरणी में प्रत्येक पूर्णांक द्वारा विभाज्यता के लिए 0 काḍḄ परीक्षण करता है । 0 अपने आप से विभाज्य है, इसलिए हमें [1, [1, [1, [1, [1, [1, [1, [1, 1]]]]]]]]]] हैं ।
अब, असंबद्ध परमाणु Ḅफ्लैट सरणियों पर संचालित होता है । एक जोड़ी [ए, बी] के लिए , यह केवल 2 ए + बी देता है । जैसा कि पहले उल्लेख किया गया है, Ḅपूर्णांक के लिए एक नो-ऑप है: एक पूर्णांक तर्क c [c] में पदोन्नत किया गया है , और किसी भी आधार में [c] बस c है ।
पहली कॉल को Ḅकम करने के लिए [1, 1] से 3 , इस प्रकार उपज [1, [1, [1, [1, [1, [1, [1, [1, 3]]]]]]] । अगली कॉल [१, ३] को घटाकर ५ , अगले एक [१, ५] से 1 , और नौवें Ḅरिटर्न १ 1 तक आने वाली है ।
+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ+Ṇ
Ṇहै फ्लैट तार्किक नहीं परमाणु और नक्शे अंतर्निहित तर्क 0 करने के लिए 1 । +इसके अलावा परमाणु है, इसलिए +Ṇपिछले वापसी मूल्य (शुरू में 0 ) वेतन वृद्धि की अठारह प्रतियों में से प्रत्येक । इस प्रकार पूरा कार्यक्रम 18 को लौटता है ।
CNCNCNCNCNCNCNCNCNCNCNCNCNCNCNCNCNCNC
Cहै पूरक परमाणु और उसके तर्क नक्शे z करने के लिए 1-z । Nहै निगेट परमाणु और नक्शे अपने तर्क जेड को -z । साथ में, CNनक्शे z से - (1-z) = z-1 हैं , इसलिए अठारह प्रतियां निहित तर्क 0 -18 में बदल जाती हैं । Cपैदावार का एक अंतिम आवेदन 1 - (-18) = 19।
ĖḌĖḌ
गणना परमाणु Ėएक सरणी में आइटम विश्लेषण करता है, सूचकांक और मान के जोड़े का निर्माण। निहित तर्क 0 को [0] में पदोन्नत किया जाता है , फिर Ėपैदावार [[1, 0]] की जाती है । Undecimal परमाणु आधार 10 से एक फ्लैट सरणी पूर्णांक में बदलता है, उपज [10] इस विशेष मामले में।
करने के लिए दूसरी कॉल Ėरूपांतरण [10] में [[1, 10]] , दूसरा जो Ḍअंत में में परिवर्तित हो [20] ।
21 - 30
ṫṣȦJṫȦ⁸ȦJ
पूंछ परमाणु ṫ(एक दो का समूह) ने अपनी बाईं तर्क के पोस्टफ़िक्स कि सूचकांक पर शुरू होता है का चयन (1-आधारित और मॉड्यूलर) अपने अधिकार का तर्क में निर्दिष्ट, एक बाएं पूर्णांक तर्क को बढ़ावा देने एक्स के लिए [x] । जब दोनों तर्कों के साथ 0 पर सेट किया जाता है , तो ṫरिटर्न [0] ।
किसी भी और सभी परमाणु Ȧरिटर्न 1 अगर इसके तर्क truthy है और किसी भी गहराई, में कोई शून्य होता है 0 अन्यथा। यहाँ, हम इसका उपयोग एक पहचान फ़ंक्शन के रूप में निहित तर्क 0 को वापस करने के लिए करते हैं । पर विभाजन परमाणु ṣअपनी बाईं तर्क विभाजित कर [0] अपने अधिकार तर्क की घटनाओं पर 0 , तो यह रिटर्न [[] [],] यहाँ।
सूचकांक परमाणु Jवापसी मान के तत्वों को छोड़ देता है और उन्हें अपने सूचकांक के साथ बदलता है, उपज रेंज [, 2 1] इस विशिष्ट मामले में। Ȧऔर ṫदोनों पहले की तरह काम करते हैं, इसलिए वे [1, 2] को कम करते हुए पोस्टफिक्स को अंतिम सूचकांक में शुरू करते हैं, [2] ।
निलादिक लिंक में, स्थिरांक []⁸ रखता है । यह एक अप्राप्य निलाद है, अर्थात, यह किसी भी तरह से श्रृंखला में फिट नहीं होता है। परिणामस्वरूप, पिछला रिटर्न मान ( [2] ) STDOUT में मुद्रित होता है, फिर निलाड के मूल्य ( [] ) के साथ बदल दिया जाता है ।
चूंकि [] मिथ्या है, Ȧइसे 0 में रूपांतरित किया । Jपरमाणु को बढ़ावा देता है 0 करने के लिए [0] , तो इसकी सूचकांक (की सूची देता है [1] ) है, जो परोक्ष छपा है जब कार्यक्रम खत्म।
22
एक और शाब्दिक। इनका उपयोग करने के लिए रेपिडिजिट सबसे अच्छी जगह लगती है।
“@ṃ»
यह जेली के इनबिल्ट स्ट्रिंग कंप्रेशन का उपयोग करता है। जेली के कोड पृष्ठ में @ और ṃ के सूचकांक 64 और 220 हैं और स्ट्रिंग शाब्दिकों में 250 भिन्न वर्ण हो सकते हैं, इसलिए यह पूर्णांक 250 × 65 + 220 = 16470 की गणना करता है ।
16470 3 से विभाज्य है, इसलिए भागफल 16470/3 = 5490 एक मुद्रण योग्य ASCII चरित्र या एक लाइनफीड को एन्कोड करता है। इनमें से 96 और 5490 = 96 × 57 + 18 हैं , जिसका अर्थ है कि हमने 0-आधारित इंडेक्स 18 में मुद्रण योग्य ASCII चरित्र को डिकोड किया है , जो '2' है ।
हम 57 के साथ बचे हैं , जो 3 से भी विभाज्य है , इसलिए भागफल 57/3 = 19 = 96 × 0 + 19 0-आधारित इंडेक्स 18 में मुद्रण योग्य ASCII वर्ण है , जो '3' है ।
यह 0 छोड़ देता है ; डिकोडिंग प्रक्रिया बंद हो जाती है। उत्पन्न चरित्रों को "23" बनाने के लिए संक्षिप्त किया गया है
!ḤḤ!
भाज्य परमाणु !अंतर्निहित तर्क बदल जाता है 0 में 1 । अस्वस्थ परमाणु के दो आह्वान 1 को 2 में Ḥबदल देते हैं , फिर 2 को 4 में । अंत में, गणना 4! = 24 ।!
³HH
कमांड लाइन तर्क के अभाव में, लगातार ³रखती है 100 । दो आमंत्रण Hबदल जाता है 100 में 50 , तो 50 में 25 ।
ØaM
निरंतरता Øaलोअरकेस वर्णमाला रखती है। अधिक से अधिक परमाणु Mअधिक से अधिक आइटम के सभी सूचकांकों पैदावार, और के बाद से z सबसे बड़ा छोटा अक्षर है, परिणाम है [26] ।
;;;;;;;;;;;;;;;;;;;;;;;;;;;¬¬ḅ¬
की छब्बीस प्रतियां CONCATENATE परमाणु ;प्रारंभिक वापसी मान जोड़ 0 और डिफ़ॉल्ट तर्क के छब्बीस उदाहरणों 0 , 27 शून्यों की एक सरणी का निर्माण।
¬है तार्किक नहीं परमाणु, तो ;¬एक संलग्न कर देता है 1 शून्य की सरणी के लिए। अगले ¬सरणी में सभी तत्वों को नकारता है, जो हमें 27 लोगों और 1 शून्य के सरणी के साथ छोड़ देता है।
ḅहै unbase परमाणु और आधार का अधिकार तर्क पूर्णांक में निर्दिष्ट से अपने बाएँ तर्क से एक अंकों सरणी बदल देता है। ḅ¬यूनरी से पूर्णांक में परिवर्तित होता है, इसलिए यह केवल एक योग करता है। 27 लोगों की एक सरणी के लिए, यह 27 देता है ।
irið8c
परमाणु का सूचकांकi इसके बाएं तर्क को 0 से [0] तक बढ़ावा देता है , फिर इसके सही तर्क 0 के सूचकांक को उस सरणी में 1 , yiel 1 में खोजता है ।
रेंज परमाणु rनिर्माण करती है इसे से एक बढ़ते या घटते रेंज का अधिकार एक के लिए तर्क बचा है। सही तर्क निहित तर्क 0 है , इसलिए यह पैदावार करता है [1, 0] । [१, ०] में ०i के सूचकांक को खोजता है , २ का अंकन करता है ।
ðएक नई, रंगाई श्रृंखला शुरू करता है। चूंकि पूर्ववर्ती श्रृंखला निलादिक थी, इसलिए इस श्रृंखला के बाएं और दाएं दोनों तर्क पहले श्रृंखला के रिटर्न मान ( 2 ) के बराबर होंगे । cमें संयोजन परमाणु। बाएं तर्क 8 और दाएं तर्क 2 के साथ , यह 8C2 = 8! (6! 2!) = 28 को वापस करते हुए, 8 तत्वों के एक सेट के सभी अनूठे, अनियंत्रित 2-संयोजनों को गिनता है ।
⁶ḲĠṂ°İṂĊ
स्थिरांक ⁶एक अंतरिक्ष वर्ण रखता है और तर्क और वापसी मान को '' सेट करता है । शब्द परमाणु Ḳचरित्र को बढ़ावा देता है '' सिंगलटन स्ट्रिंग के लिए "" और रिक्त स्थान पर यह विभाजन, उपज [[] [],] ।
समूह परमाणु Ġसभी समूहों को समान तत्वों का समूह बनाता है । चूँकि अंतिम रिटर्न मान के दोनों तत्व समान हैं, इसलिए यह [[१, २]] यहाँ लौटाता है। न्यूनतम परमाणु एक न्यूनतम (केवल) इस सरणी के तत्व, उपज निकालता है [1, 2] ।
डिग्री परमाणु °, रेडियंस में सेक्साजेसिमल डिग्री से दोनों पूर्णांकों धर्मान्तरित उपज 1 ° × 2π / 360 ° = π / 180 और 2 ° × 2π / 360 ° = π / 90 । उलटा परमाणु गुणक प्रतिलोम लेता है, उपज 180 / π ≈ 57.3 और 90 / π ≈ 28.6 ।
फिर, Ṃएक बार अधिक से अधिक न्यूनतम 28.6 की उपज लेता है । अंत में, छत परमाणु 28.6 को 29 में Ċबदल देता है ।
œṡ¹ẆẆTUṖṖṖṖP
पहचान परमाणु ¹रिटर्न 0 अंतर्निहित तर्क के लिए 0 । चारों ओर विभाजन परमाणु œṡअपने तर्कों (दोनों के दोनों को बढ़ावा देता है 0 ) के लिए [0] , तो विभाजन [0] के बराबर सन्निहित subarrays के आसपास [0] । इससे पैदावार [[], []] होती है ।
रपट खिड़की परमाणु Ẇअपने तर्क के सभी सन्निहित subarrays बनाता है। पहला उदाहरण [[], []] को [[[]], [[]], [[], []] में बदल देता है, दूसरा उदाहरण रूपांतरित [[[]], [[]], [[] , []]] में
[[[[]]], [[[]]], [[[], []]], [[[]], [[]]], [[[]], [ [], []]], [[]], [[]], [[], []]] ।
सच्चाई परमाणु Ttruthy तत्वों के सभी सूचकांकों सूचीबद्ध करता है। पहले स्तर पर कोई भी ऐरे खाली नहीं है, इसलिए यह पैदावार [1, 2, 3, 4, 5, 6] करता है । समाप्त कर देना परमाणु Uइस सरणी उलट जाता है, उपज [6, 5, 4, 3, 2, 1] ।
पॉप परमाणु की चार प्रतियां Ṗपिछले चार तत्वों को हटा देती हैं, जो हमें [6, 5] के साथ छोड़ देती हैं । अंत में, उत्पाद परमाणु Pइस सरणी को 30 में बदल देता है ।
३१ - ४०
ȷ½RṪ
ȷ1 × 10 3 = 1000 के लिए एक आशुलिपि है । वर्गमूल परमाणु ½पैदावार 31.6 है, जो सीमा परमाणु Rमें परिवर्तित हो [1, ..., 31] । अंत में, पूंछ परमाणु Ṫआखिरी तत्व को निकालता है, 31 को वापस करता है ।
LµdddddµFL
लंबाई परमाणु Lनिहित तर्क को बढ़ावा देता है 0 करने के लिए [0] उपज के लिए, तो लंबाई लेता है 1 । µएक नई, मौद्रिक श्रृंखला शुरू करता है, और परिणाम 1 इसका तर्क बन जाता है।
तर्कों x और y के लिए , डिवमोड परमाणु dउपज देता है [x / y, x% y] । प्रत्येक कॉल में y = 1 होगा , इसलिए परिणाम हमेशा [x, 0] होगा ।
पहली कॉल x = 1 से शुरू होती है , उपज [1, 0] । dकेवल पूर्णांकों पर काम करता है, इसलिए यह बाद की कॉलों में सदिश करता है। दूसरी कॉल की उपज [[1, 0], [0, 0]] , तीसरी [[[1, 0], [0, 0]], [[0, 0], [0, 0]]] है । और गहराई 5 की पांचवीं और अंतिम एक सरणी जिसमें एक एकल और 31 शून्य होते हैं।
µएक बार फिर से एक नई, मौद्रिक श्रृंखला शुरू होती है, और पहले से सरणी इसका तर्क बन जाती है। फ्लैट परमाणु Fइस सरणी unnests, एक भी एक और 31 शून्यों का एक फ्लैट सरणी उपज। अंत में, Lपरिणामी की लंबाई लेता है, 32 लौट रहा है ।
33
एक और रेपिडिजिट, दूसरा शाब्दिक।
WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWŒḊ
रैप परमाणु का प्रत्येक उदाहरण अपने तर्क z को [z] में बदल देता है । 0 के प्रारंभिक वापसी मूल्य के साथ, सभी 34 उदाहरण एक साथ उपज देते हैं [[[[[[[[[[[[[[[[[[[[[[[[[[[] [[[]] ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] । अंत में, गहराई परमाणु ŒḊपरिणामी सरणी की अधिकतम गहराई की गणना करता है, 34 लौटता है ।
ẇɓæ«æ«æ«æ«æ«|æ«|
खिड़की मौजूद परमाणु ẇअपने तर्कों (दोनों के लिए डिफ़ॉल्ट के दोनों को बढ़ावा देता है 0 ) के लिए [0] , तो परीक्षण करता है, तो ** [0] ** का एक सन्निहित subarray रूप में होता है [0] । यह करता है, इसलिए 1ẇ लौटाता है ।
ɓएक नई, रंगाई श्रृंखला शुरू करता है। चूंकि पूर्ववर्ती श्रृंखला निलादिक थी, इसलिए इस श्रृंखला के बाएं और दाएं दोनों तर्क पहले श्रृंखला के रिटर्न मान ( 1 ) के बराबर होंगे । श्रृंखला दो अलग-अलग, डाईएडिक परमाणुओं का उपयोग करती है: बिटशिफ्ट लेफ्ट ( æ«) और बिटवाइज़ ओआर ( |)।
एक डायैडिक श्रृंखला जो तीन या अधिक रंगों से शुरू होती है, शुरू में श्रृंखला के तर्कों के साथ पहले डेड को बुलाती है। यहाँ, यह 1 << 1 = 2 देता है । इसके बाद के छह रंगों को जोड़े (तथाकथित कांटे ) में बांटा जाता है , जहां सबसे दाहिने रंगाद को श्रृंखला के तर्कों के साथ पहले कहा जाता है, फिर सबसे बाईं ओर दोनों पक्षों के पिछले रिटर्न मूल्यों के साथ बुलाया जाता है।
के लिए æ«æ«, हमें 2 << (1 << 1) = 2 << 2 = 8 मिलते हैं । फिर, 8 << (1 << 1) = 8 << 2 = 32 कीæ«æ« गणना करता है । अब, हमें 32 मिलता है | (1 << 1) = 32 | 2 = 34 ।|æ«
अंत में, अनुगामी |एक हुक की तरह कार्य करता है और इसे पिछले रिटर्न मान के साथ इसके बाएं तर्क के रूप में कहा जाता है और श्रृंखला का सही तर्क इसके दाहिने हिस्से के रूप में। यह रिटर्न 34 | 1 = 35 ।
⁹ṚḢ²
एक दूसरा तर्क के अभाव में, लगातार ⁹रखती है 256 । रिवर्स परमाणु को बढ़ावा देता है 256 सरणी [2, 5, 6] और यह उपज के लिए पराजयों [6, 5, 2] । फिर, सिर परमाणु Ḣपहला तत्व निकालता है, और वर्ग परमाणु ²रिटर्न ** 6² = 36 *।
‘‘‘0‘‘‘‘‘‘‘
वेतन वृद्धि परमाणु ‘द्वारा अपने तर्क वृद्धि कर देता है 1 , इसलिए ‘‘‘प्रारंभिक वापसी मान बारी 0 में 3 । निम्नलिखित 0 एक अप्राप्य निलाद है, अर्थात, यह किसी भी तरह से श्रृंखला में फिट नहीं होता है। परिणामस्वरूप, पिछला रिटर्न मान ( 3 ) STDOUT में मुद्रित होता है, फिर निलाड के मान ( 0 ) के साथ बदल दिया जाता है ।
निम्नलिखित 7 की प्रतियां ‘इस मोड़ 0 में 7 , जो परोक्ष छपा है जब कार्यक्रम खत्म।
’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’ạ
घटती परमाणु ’द्वारा अपने तर्क decrements 1 , तो अड़तीस प्रतियां प्रारंभिक वापसी मान बारी 0 में -38 । पूर्ण अंतर परमाणु ạके बीच अहस्ताक्षरित अंतर की गणना करता है -38 और अंतर्निहित तर्क 0 , लौटने 38 ।
-____---__________
--1 के लिए एक आशुलिपि है और लिंक के तर्क और रिटर्न मान को -1 पर सेट करता है । प्रत्येक _डाईडिक घटाव परमाणु का एक उदाहरण है , जिसका सही तर्क अनुपलब्ध होने पर -1 में डिफ़ॉल्ट होगा ।
पहले, -____-गणना (-1) - (-1) - (-1) - (-1) - (-1) = 3 । निम्नलिखित -1 एक अप्राप्य निलाद है, इसलिए पिछला रिटर्न मान ( 3 ) STDOUT में मुद्रित किया जाता है, फिर निलाड के मूल्य ( -1 ) के साथ बदल दिया जाता है ।
अगला, -_गणना करता है (-1) - (-1) = 0 , जहां शाब्दिक बाएं तर्क को -सेट करता है और सही मान के रूप में वापसी मूल्य का उपयोग करता है। डिफ़ॉल्ट मान -1 को घटाने के बाद वापसी की मूल्य से निम्नलिखित नौ प्रतियां , उपज 9 , जो कि कार्यक्रम समाप्त होने पर स्पष्ट रूप से मुद्रित होती है।__
”(O
”(एक चरित्र शाब्दिक है और क्रमिक परमाणु Oअपने यूनिकोड कोड बिंदु को देखता है, जो 40 का है ।
४१ - ४ 41
⁵ḶxḶ⁵ị⁵ḶxḶḣṢ
एक तिहाई कमांड लाइन तर्क के अभाव में, लगातार ⁵रखती है 10 । Unlength परमाणु Ḷ0-आधारित रेंज, विशेष रूप से पैदा करता है [0, ..., 9] तर्क के लिए 10 , के दोनों पक्षों के लिए जगह में दोहराने परमाणु x। उत्तरार्द्ध अपने बाएं तर्क के तत्वों को अपने दाएं की पुनरावृत्ति के साथ मेल खाता है, और प्रत्येक तत्व को इसी संख्या को दोहराता है। साथ [0, ..., 9] दोनों छोड़ दिया और सही तर्क के रूप में, हम इस प्रकार शून्य शून्य, एक के बाद एक, दो दुक्की आदि मिलता है
में सूचकांक परमाणु ịसूचकांक अपने बाएँ एक में निर्दिष्ट में अपनी सही तर्क के तत्व को हासिल करेगा। बाएं तर्क 10 ( ⁵इसके बाएं) और दाएं तर्क [1, 2, 2, 3, 3, 3, 4, 4, 4, 4,…, 9] (पिछले परिणाम) के साथ, यह 4 देता है ।
इस बिंदु तक की श्रृंखला एक अप्राप्य निलाद द्वारा पीछा की जाती है ⁵, इसलिए STDOUT में मुद्रित पिछला रिटर्न मान ( 4 ), वापसी मान 10 पर सेट होता है , और शेष श्रृंखला हमेशा की तरह पार्स होती है।
पहले की तरह, ⁵ḶxḶसरणी [1, 2, 2, 3, 3, 3, 4, 4, 4, 4,…, 9] का उत्पादन करेगा । इस बार, हम तर्क 10 पर सॉर्ट किए गए परमाणु Ṣको कहते हैं , जो 10 को [1, 0] को बढ़ावा देता है , फिर इसे उपज के लिए सॉर्ट करता है [0, 1] । Dyadic सिर परमाणु अब लंबाई की उपसर्गों को हासिल करेगा 0 और 1 बाईं ओर परिणाम से, के साथ हमें छोड़ रहा है [[], [1]] । जब मुद्रित, कुछ भी नहीं लेकिन 1 दृश्यमान रहेगी।
⁽{ʂ%⁽{}
⁽और इसके दो निम्नलिखित वर्ण एक संख्यात्मक शाब्दिक हैं। यदि जेली के कोड पृष्ठ में j और k उनके कोड पॉइंट हैं और (j, k) <(124, 250) , तो हमें पूर्णांक 1001 + 250j + k मिलता है । के कोड अंक '{' , '}' , और 'ʂ' कर रहे हैं 123 , 125 , और 167 है, इसलिए करने के लिए शाब्दिक मूल्यांकन करता छोड़ दिया 1001 + 250 × 123 + 167 (= 31918) है, जबकि सही एक का मूल्यांकन 1001 + 250 × 123 + 125 (= 31876) ।
चूँकि बायाँ पूर्णांक दो बार जितना छोटा है, उतना ही सही है, परिणाम (… + 167)% (… + 125) = (… + 167) - (… + 125) = 167- 125 = 42 है ।
ẊẠżv©żvżvżvọ®®Ạżvżvżvọ®
फेरबदल परमाणु Ẋअपने तर्क के तत्वों का क्रम randomizes; एक संख्यात्मक तर्क z को पहले से [1,…, z] श्रेणी में पदोन्नत किया जाता है । निहित तर्क 0 के लिए , यह सीमा खाली है और Ẋपैदावार [] । सभी परमाणु Ạरिटर्न 1 अगर इसके तर्क के तत्वों के सभी truthy, कर रहे हैं 0 नहीं तो। चूँकि एक खाली सरणी में मिथ्या तत्व नहीं होते हैं, इसलिए 1 यहाँ Ạलौटाता है।
साथ जिप परमाणु ż(एक दो का समूह) तर्क लेता है x और y और जोड़ी transposes [एक्स, वाई] । पूर्णांक x और y के लिए , यह बस [[x, y]] देता है , इसलिए यह विशेष रूप से ż, तर्क 1 और 0 (अंतर्निहित तर्क) के साथ, रिटर्न [[1, 0]] । Dyadic eval परमाणु v, सभी फ्लैट सरणियों (युक्त केवल अंक और अक्षर) मैं तार में बाईं तर्क बदल जाता है तो कार्यक्रमों के तर्क के रूप में अपनी सही तर्क के साथ monadic जेली कार्यक्रमों के रूप में जिसके परिणामस्वरूप तार मूल्यांकन करता है। चूंकि ["10"]पूरी तरह से शाब्दिक हैं, यह सही तर्क की उपेक्षा करता है vऔर बस [10] परिणाम देता है ।
प्रति त्वरित ©करने के लिए देता vहै और प्रतियां रजिस्टर में इसके परिणाम। बाद में रिकॉल एटम ®(एक निलाद) की घटनाएँ रजिस्टर से [10] प्राप्त करेंगी ।
[१०] से [[१०] , [१००] से [१००] तक [१००००] तक [१०]żv मैपिंग से पहले की तरह की अगली तीन प्रतियां । आदेश परमाणु परीक्षण कितनी बार अपने बाएँ तर्क इसलिए यहाँ अपने अधिकार एक से विभाज्य है, इसके बारे में आदेश की गणना 10 (साथ लाए जाने में) 10000 = 10 4 , उपज [4] ।ọ®
निम्नलिखित ®एक अप्राप्य निलाद है, इसलिए पिछले रिटर्न मान ( [4] ) को STDOUT में मुद्रित किया जाता है, फिर निलाड के मूल्य ( 10 ) के साथ बदल दिया जाता है । हम Ạअगले आवेदन करते हैं , 1 उपज । (यह एक बिंदु के रूप में निषाद के बाद इस बिंदु पर पार्स करने योग्य होगा के रूप में आवश्यक है।)
पहले की तरह, żvżvżvतीन रिटर्न को मौजूदा रिटर्न वैल्यू में जोड़कर 1 को [1000] में बदल दिया । अंत में, 1000 = 10 3 में 10ọ® के क्रम की गणना करता है , और जब प्रोग्राम समाप्त हो जाता है तो 3 को STDOUT में प्रिंट किया जाता है।
44
फिर भी एक और प्रतिगामी, फिर भी एक और शाब्दिक।
111111l11&K1111111Kl11&
सबसे पहले और सबसे महत्वपूर्ण, शाब्दिक 111111तर्क और प्रारंभिक वापसी मूल्य 111111 है । अन्य रन 1भी शाब्दिक हैं।
lहै लघुगणक परमाणु, जो आधार सही एक में निर्दिष्ट करने के लिए अपनी बाईं तर्क के लघुगणक गणना करता है। जब सही तर्क 11 के साथ 111111 पर कॉल किया जाता है , तो हमें लॉग 11 111111। 4.85 मिलता है ।
शब्द परमाणु Kरिक्त स्थान एक सूची तर्क मिलती है, एक अंकीय / चरित्र को बढ़ावा देने के बाद जेड को [z] । यहाँ, हम इसका उपयोग लिंक के तर्क को 111111 को [111111] में बदलने के लिए करते हैं । (हमें यहां एक सरणी की आवश्यकता नहीं है, लेकिन हम पहचान परमाणुओं से बाहर निकल चुके हैं।) बिटवाइंड और परमाणु &दोनों पक्षों में वापसी मान लेता है, यदि आवश्यक हो, तो उन्हें पूर्णांक में डाल देता है और उनकी बिटवाइज़ की गणना करता है। इस विशेष मामले में, यह [4.85 और 111111] = [4 और 111111] = [4] रिटर्न करता है ।
निम्नलिखित 1111111एक अप्राप्य निलाद है, इसलिए पिछले रिटर्न मान ( [4] ) को STDOUT में मुद्रित किया जाता है, फिर निलाड के मूल्य ( 1111111 ) के साथ बदल दिया जाता है । Kफिर इस पूर्णांक को [1111111] में बदल देता है । (यह एक बार फिर वास्तव में आवश्यक नहीं है, लेकिन एक डाईलाड के बाद एक निलाद इस बिंदु पर पार्स करने योग्य होगा।)
पहले की तरह, l11गणना 11 1111111 , 5.81 लॉग इन करती है , फिर &रिटर्न [5.81 और 111111] = [5 और 111111] = [5] ।
,SS
ỊỊ,ÇS
ÇÑÇÇÇÑ
यह एकमात्र प्रोग्राम है जिसमें कई उपयोगकर्ता-परिभाषित लिंक होते हैं। अंतिम लिंक मुख्य लिंक है और जब प्रोग्राम शुरू होता है तो निष्पादित होता है, शेष लिंक सहायक होते हैं। त्वरित Çहमेशा वर्तमान एक से ऊपर के लिंक को संदर्भित करता है और इसे राक्षसी रूप से निष्पादित करता है। इसी तरह, क्विक Ñहमेशा वर्तमान एक ( नीचे लपेटकर) के नीचे दिए गए लिंक को संदर्भित करता है और इसे मोनोडिक रूप से निष्पादित भी करता है।
शीर्ष लिंक में जोड़ी परमाणु शामिल है ,- एक डाईड जो तर्कों को x और y को [x, y] में बदल देता है - और योग परमाणु S- एक मोनाद जो एक पूर्णांक तर्क z [z] को बढ़ावा देता है और इसके अलावा एक सरणी तर्क को कम करता है। जब लिंक ,SSको पूर्णांक तर्क n के साथ बुलाया जाता है , तो यह n [n, ]n] = Σ [n, n] = 2n की गणना करता है ।
मध्य लिंक में उपरोक्त परमाणु, पूर्वोक्त त्वरित Ç, और तुच्छ परमाणु शामिल हैं Ị- एक ऐसा मौद्रिक जो 1 से argu z , 1 के साथ संख्यात्मक तर्कों के लिए 1 उपज देता है , लेकिन अन्य सभी के लिए 0 । Ịदो बार एक पूर्णांक तर्क पर लागू होता है n अनिवार्य रूप से 1 के साथ बदल देता है , क्योंकि पहला Ị( दूसरा इनपुट ) का आउटपुट हमेशा महत्वहीन होता है। इस परिणाम को उसके रिटर्न वैल्यू के साथ जोड़ा Çजाता है (जिसे तर्क n के साथ कहा जाता है ), और परिणामस्वरूप जोड़ी को घटा दिया जाता है S। कुल मिलाकर, हम गणना करते हैं| [(| N | ≤ 1), 1, 2n] = 1 [1, 2n] = 2n + 1 ।
जगह में इन दो सहायक लिंक के साथ, मुख्य लिंक अब अपने द्विआधारी अंकों को देखकर किसी भी गैर-नकारात्मक पूर्णांक का निर्माण कर सकता है। 0 के प्रारंभिक रिटर्न मूल्य के साथ , श्रृंखला ÇÑÇÇÇÑअंतिम परिणाम की गणना करती है (((((0 × 2 + 1) × 2) × 2 + 1) × 2 + 1) × 2 + 1) × 2 = ((5 ×) 2 + 1) × 2 + 1) × 2 = 46 ।
ÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆnÆn
अगले प्रधानमंत्री परमाणु छोटी से छोटी सकारात्मक अभाज्य संख्या है कि इसके तर्क से सख्ती से अधिक है पाता है। प्रारंभिक वापसी मूल्य 0 के साथ , पंद्रह Ænअभाज्य संख्याओं की गणना करता है, जो कि 47 है ।