मेरे साथ एक गोल्फ भाषा का निर्माण करें


30

PPCG उपयोगकर्ताओं को इस चुनौती के निर्माण के साथ मदद की, चैट में और सैंडबॉक्स, विशेष रूप से दोनों का एक बहुत मार्टिन Ender , AdmBorkBork , Emigna और user202729

हमारे समुदाय ने विशेष रूप से गोल्फिंग, "गोल्फिंग भाषाओं" के लिए डिज़ाइन की गई भाषाओं का एक सेट बनाने के लिए आवश्यक पाया है क्योंकि हम उन्हें कहते हैं। इस तरह की भाषाएं एक बार शानदार, अब क्लंकी गॉकेटस्क्रिप्ट से जेली और हस्क जैसी चिकना संक्षिप्त भाषाओं में विकसित हुई हैं । जैसा कि हम देख सकते हैं, ये भाषाएं लगातार कार्यों के सेट के लिए छोटी और छोटी हो रही हैं। तो, गोल्फिंग भाषाओं के बारे में यहाँ के स्पष्ट विशेषज्ञों के रूप में, हमें प्रतिस्पर्धा करने की हिम्मत रखने वाली हर दूसरी भाषा को हराने के लिए एक भाषा को एक साथ डिज़ाइन करना चाहिए। पेश है बिगुल!

बिगुल: परिवर्णी शब्द से BuGoL: बू ILT जाओ lfing एल anguage।

यह चुनौती कैसे काम करेगी

यदि आपको वह नहीं मिला है जो मैं परिचय में प्रस्तुत कर रहा हूं, तो यह चुनौती एक चुनौती है, जहां हम प्रत्येक नई गोल्फिंग भाषा के व्याख्याकार के लिए कुछ योगदान करते हैं, प्रत्येक उत्तर के साथ पीपीसीजी पर प्रतिस्पर्धा करने की अपनी क्षमता में सुधार करते हैं।

मैं पहले उत्तर को भाषा की युक्ति / दुभाषिया के आधार से मिलकर पोस्ट करूंगा, और अन्य सभी उत्तर उसी से जारी रहेंगे। नई प्रस्तुतियाँ निम्नलिखित चीजें प्रदान करेंगी:

  • भाषा की कल्पना में बदलाव
  • एक अप-टू-डेट दुभाषिया, जो वास्तव में बदलावों में निर्धारित किया गया है , पूरा करना
  • भाषा का अपडेट किया गया स्कोर (बिट में अधिक विवरण)

आप तीन तरीकों में से एक में युक्ति बदल सकते हैं:

  • आप एकल आदेश जोड़ सकते हैं
  • आप दो नई कमांड जोड़ सकते हैं
  • आप एक मौजूदा कमांड के व्यवहार को संपादित कर सकते हैं

नए इंटरप्रेटर के बारे में, आपको पायथन में लिखे गए नवीनतम संस्करण का उपयोग करना होगा । यह गोल्फ नहीं है। प्रत्येक पहले जोड़े गए कमांड को नवीनतम दुभाषिया के साथ-साथ नवीनतम कमांड (जो आप जोड़ते हैं) के साथ परीक्षण योग्य होना चाहिए। दुभाषिया को अपडेट करते समय किसी भी बिंदु पर आपत्तिजनक भाषा का उपयोग नहीं करना चाहिए, जैसे कि टिप्पणी या स्ट्रिंग शाब्दिक आदि।

जोड़ा गया कमांड कुछ भी आपकी इच्छा के अनुसार हो सकता है । केवल आवश्यकताएं हैं:

  • यह आक्रामक उत्पादन नहीं करता है
  • यह एक और कमांड के समान नहीं है
  • यह नमूना चुनौतियों में से एक को पूरा होने से नहीं रोकता है

इन के अलावा, यह विशिष्ट या सामान्य के रूप में आप चाहते हैं के रूप में हो सकता है। यह आपके द्वारा चाहा जाने वाला कोई भी चरित्र भी हो सकता है । यदि आप सुनिश्चित नहीं हैं कि आपका जोड़ एक 'नई कमांड' है, तो टिप्पणी में पूछने के लिए स्वतंत्र महसूस करें।

भाषा का अंक

आपने देखा होगा कि आपको सभी नए सबमिशन में भाषा का स्कोर शामिल करना होगा। इसका स्कोर वही है जो इस चुनौती को हमेशा के लिए रोकता है, और इसे निम्नानुसार परिभाषित किया गया है:

वर्तमान स्कोर बाइट काउंट का योग है जो भाषा को नीचे दिए गए 20 कार्यों को पूरा करने के लिए लेता है

प्रत्येक कार्य के लिए, मानक I / O नियम लागू होते हैं , जैसा कि मानक कमियां हैं

20 कार्य:

  1. "नमस्ते दुनिया!" - स्ट्रिंग को आउटपुट करेंHello, World!
  2. 1, 2, Fizz, 4, Buzz - प्रत्येक पूर्णांक को अलग लाइन पर 1 से 100 (समावेशी) से आउटपुट करता है, जिसमें 3 के गुणकों को प्रतिस्थापित किया जा रहा है Fizz, 5 के गुणकों को प्रतिस्थापित किया जा रहा है Buzzऔर दोनों के गुणकों को गुणा करकेFizzBuzz
  3. अपने स्रोत कोड में किसी भी संख्या के बिना नंबर 2014 का उत्पादन करें - स्रोत कोड में किसी भी वर्ण का उपयोग किए बिना नंबर 2014 का उत्पादन करें 0123456789, बाहरी चर या यादृच्छिक बीज तक पहुंच के बिना।
  4. अस्पष्ट नमस्ते विश्व - आउटपुट स्ट्रिंग Hello, World!, निम्नलिखित सेट के कम से कम दो में पात्रों में से किसी का उपयोग किए बिना: hlwd, eor01और 27(केस-संवेदी)
  5. अपनी पसंदीदा प्रोग्रामिंग भाषा में जन्मदिन की शुभकामनाएं गाएं - अपनी पसंद की भाषा में, निम्नलिखित का उत्पादन करें:

    Happy Birthday to You
    Happy Birthday to You
    Happy Birthday Dear [the name of your favourite programming language]
    Happy Birthday to You
    
  6. हम गोल्फ को कोड करने के लिए कोई अजनबी नहीं हैं, आप नियमों को जानते हैं, और इसलिए मैं - "नेवर गोना गिव अप" के पूर्ण गीत का उत्पादन करता हूं

  7. साइन को आउटपुट करें - एक संख्या को देखते हुए, -1 नकारात्मक होने पर प्रिंट करें , 0 यदि यह सकारात्मक है तो 0 या 1 है
  8. Collatz Conjecture (OEIS A006577) - एक पूर्णांक से शुरू, इसे 2 से विभाजित करें यदि यह सम है, या इसे 3 से गुणा करें और यदि यह विषम है, तो 1 को जोड़ें और जब तक आप नहीं पहुंचते, तब तक प्रक्रिया को दोहराएं। आउटपुट 1 पुनरावृत्तियों की संख्या होनी चाहिए। आपको 1 तक पहुँचने में मदद करता है।
  9. चुनौतियां # 1 की एक सरणी: वैकल्पिक सारणियां - पूर्णांक की एक सरणी को देखते हुए, जांचें कि क्या सभी समान-अनुक्रमित आइटम समान हैं, और सभी विषम-अनुक्रमित आइटम समान हैं, और तदनुसार एक सत्य या गलत मूल्य का उत्पादन करते हैं
  10. क्या मैं एक तुच्छ सरणी हूँ? - पूर्णांक की एक सरणी को देखते हुए, जांचें कि क्या निरंतर तत्वों के बीच पूर्ण अंतर सभी 1 के बराबर या उससे छोटा है, और तदनुसार एक सत्य या मिथ्या मान आउटपुट करता है
  11. क्या यह संख्या एक प्रमुख है? - एक सकारात्मक पूर्णांक को देखते हुए, यह जांचने के लिए कि क्या यह प्रमुख है, एक पूर्ण कार्यक्रम लिखें और उसके अनुसार एक सत्य या मिथ्या मूल्य का उत्पादन करें
  12. मैं एक पलिंद हूं। क्या आप? - एक स्ट्रिंग को देखते हुए, जांचें कि क्या यह पैलिंड्रोम है, जबकि आपका प्रोग्राम / फ़ंक्शन भी पैलिंड्रोम है, और आउटपुट दो अलग और सुसंगत मूल्यों के अनुसार है
  13. मानक पर संख्याओं में योग करें - STDIN से संख्याओं की एक श्रृंखला लें और उनका योग आउटपुट करें।
  14. फैक्टरियल खोजें - एक पूर्णांक को देखते हुए n, सभी पूर्णांकों के बीच 1और nसमावेशी के उत्पाद का उत्पादन करें ।
  15. अनंत आउटपुट का उत्पादन करने के लिए सबसे छोटा कोड - बिना किसी इनपुट के, अनंत आउटपुट का उत्पादन करते हैं, अर्थात्, सैद्धांतिक रूप से, आउटपुट को कभी भी बंद न करें।
  16. पाई का एक टुकड़ा सेंकना - इस सटीक पाठ का उत्पादन:
()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
 \::\433832|
  \::\79502|
   \::\8841|
    \::\971|
     \::\69|
      \::\3|
       \__\|
  1. सबसे छोटी संख्या का पता लगाएं जो एन को विभाजित नहीं करता है - एक सकारात्मक पूर्णांक एन को देखते हुए, सबसे छोटा सकारात्मक पूर्णांक उत्पन्न करता है जो एन को विभाजित नहीं करता है।
  2. यह या भी अजीब है? - पूर्णांक N को देखते हुए, इसकी समता को सत्य / मिथ्या मान के रूप में आउटपुट करें।
  3. कोड के समान लंबाई के साथ आउटपुट - सबसे छोटा कोड लिखें जिसका आउटपुट कोड के समान लंबाई है, जहां आउटपुट कोड के समान नहीं है।
  4. आप महान के लिए एक रानी गोल्फ! - अपनी भाषा में सबसे छोटी रानी लिखें ।

मान्य होने के लिए, एक नई सबमिशन में कम से कम 2 समस्याओं के लिए प्रत्येक के लिए कम से कम 1 बाइट के साथ गोल्फ सबमिशन होना चाहिए । आप अन्य सबमिशन की लंबाई बढ़ा सकते हैं, लेकिन कुल स्कोर में प्रति उत्तर कम से कम 2 की कमी होनी चाहिए । इसके अलावा, कृपया अद्यतित कार्यक्रमों के लिंक सहित विचार करें। इंटरप्रेटर के पिछले संस्करण के साथ चलने पर अद्यतन समाधान काम नहीं करना चाहिए

कुकीज़ कैसे प्राप्त करें

मेरे पास 5 चुनौतियों की एक सूची है, जो प्रयास करने के लिए अनिवार्य नहीं हैं, और आपके स्कोर पर कोई असर नहीं पड़ता है, लेकिन बस यह परीक्षण करने के लिए अतिरिक्त चुनौतियां हैं कि क्या बुगले पर्याप्त सक्षम है। अपने उत्तर में इनमें से किसी भी संख्या में समाधान शामिल करने के लिए स्वतंत्र महसूस करें:

  1. सेल्फ इंटरप्रेटर बनाएं
  2. पेलोड सक्षम क्वीन बनाएं
  3. एक तार को परिभाषित करें
  4. हाइपरप्रोग्रामिंग: एन + एन, एन × एन, एन ^ एन सभी एक में
  5. "नोट" या "नहीं"?

विवरण शामिल नहीं है क्योंकि वे चुनौती में प्रतिस्पर्धा करने में सक्षम होने के लिए सभी के लिए आवश्यक नहीं हैं।

कैसे जीतें

एक बार न्यूनतम स्कोर ( हम 16 का होना मानते हैं , हालांकि गोल्फ के किसी भी प्रयास का बहुत स्वागत किया गया है) तक पहुंचा गया है, जाहिर है कि श्रृंखला समाप्त हो गई है क्योंकि समाधान बेहतर स्कोर प्राप्त नहीं कर सकते हैं। एक बार 16 तक पहुँचने के बाद, चुनौती 1 महीने बाद तक जीवित रहती है , किसी को भी किसी भी तरह से घोल को गोल करने का मौका देने के लिए। यह महीना बीत जाने के बाद यह चुनौती खत्म हो गई है।

एक बार चुनौती खत्म हो जाने के बाद, मैं एक GitHub रिपॉजिटरी में दुभाषिया पर माइग्रेट हो जाऊंगा, और एक स्थिर भाषा जारी करने के सामान्य मशीनों से गुजरूंगा। आप उक्त भाषा का उपयोग करते हुए, इस समय पीपीसीजी पर चुनौतियों का समाधान करना शुरू कर सकते हैं, लेकिन कृपया जवाब के साथ फ्रंट पेज को बाढ़ने की कोशिश न करें। इसके बजाय, उन्हें समय की अवधि में फैलाएं।

का प्रारूपण

अपने उत्तर में जानकारी को आसान बनाने के लिए, कृपया इसे निम्नानुसार प्रारूपित करें:

# [N]. [Score]

[New command + description]

[Interpreter/link to interpreter]

[Link to programs]

[N]आपकी उत्तर संख्या कहां है (पहले के लिए 1, दूसरे के लिए 2 आदि)

नियम

  • जवाब पोस्ट करने के बीच आपको 3 घंटे इंतजार करना होगा
  • आप एक पंक्ति में दो बार पोस्ट नहीं कर सकते, जब तक कि कोई जवाब 10 दिनों के लिए पोस्ट नहीं किया गया हो (बिल्कुल 240 घंटे)
  • आप पिछले आदेशों को नहीं हटा सकते।
  • आपके दुभाषिए को गोल्फ नहीं देना है, और इसकी बाइट की गिनती पूरी तरह से अप्रासंगिक है।
  • यदि कोई व्यक्ति गोल्फ को कार्यक्रमों का सुझाव देता है जबकि आपका उत्तर नवीनतम है, तो आपको गोल्फ में संपादित करना होगा , और अपने स्कोर को अपडेट करना होगा।
    • आप ऐसा तब भी कर सकते हैं जब आपका जवाब श्रृंखला के बीच में हो, जब तक कि आपका स्कोर बाद के किसी भी उत्तर से कम न हो जाए।
  • कृपया इस भाषा का उपयोग करते हुए किसी भी मौजूदा पीपीसीजी चुनौतियों का जवाब देने से बचना चाहिए, कम से कम जब तक चुनौती खत्म न हो जाए
  • दुभाषिया पायथन 3 में लिखा गया है, और पूरी श्रृंखला में इस तरह से जारी रहना चाहिए। भाषा बदलना मना है।
  • फिर से, मान्य होने के लिए, एक नई सबमिशन में प्रत्येक के लिए कम से कम 1 बाइट द्वारा, समस्याओं के कम से कम 2 के लिए गोल्फ सबमिशन होना चाहिए ।

आएँ शुरू करें!



1
साथ ही पूछ सकते हैं: किसी को भी व्याख्या करना पसंद है? मैं किसी भी और सभी प्रतिक्रिया का मूल्य दूंगा जो आप देना चाहते हैं।
caird coinheringaahing

2
@ बाल्डो हम काफी निश्चित नहीं हैं। क्वीन को दो बाइट्स न्यूनतम होना चाहिए, लेकिन यदि खाली प्रोग्राम आउटपुट करता है Hello, World!, तो यह 19 बाइट्स है। लेकिन अगर खाली प्रोग्राम का व्यवहार बदल जाता है, तो इनपुट पर निर्भर होकर, इसे कम किया जा सकता है
caird coinheringaahing

1
@ WeijunZhou "कृपया इस भाषा का उपयोग करते हुए किसी भी मौजूदा PPCG चुनौतियों का जवाब देने से बचना चाहिए, कम से कम जब तक चुनौती खत्म न हो जाए"
caird coinheringaahing

1
@LyricLy Syntax constructs (जैसे forलूप) की अनुमति है, और जोड़ने के लिए प्रोत्साहित किया जाता है
caird coinheringaahing

जवाबों:


3

3. स्कोर: 2938 2583 2532 (-51)

नया दुभाषिया यहाँ है

मुख्य रूप से क्वीन को गोल करने और आउटपुट को आसान बनाने के प्रयोजनों के लिए, मैंने स्टैक / डीके को डुप्लिकेट करने की क्षमता जोड़ी है और पूर्ण मॉडल के बजाय पूर्ण पाठ प्रारूप में आउटपुट करने के लिए पूर्णांक के रूप में आउटपुट करने की क्षमता जोड़ी है।

समाधान की

1. "हैलो, वर्ल्ड!" - 17 बाइट्स (-3)

#"Hello, World!"a

5. अपनी पसंदीदा प्रोग्रामिंग भाषा में जन्मदिन की शुभकामनाएं गाएं - 95 बाइट्स (-3)

#"Happy Birthday to You
Happy Birthday to You
Happy Birthday Dear Bugle
Happy Birthday to You"a

6. हम गोल्फ को कोड करने के लिए कोई अजनबी नहीं हैं, आप नियमों को जानते हैं, और इसलिए मैं - 1884 बाइट्स (-3)

#"We're no strangers to love
You know the rules and so do I
A full commitment's what I'm thinking of
You wouldn't get this from any other guy
I just wanna tell you how I'm feeling
Gotta make you understand

Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you

We've known each other for so long
Your heart's been aching but
You're too shy to say it
Inside we both know what's been going on
We know the game and we're gonna play it
And if you ask me how I'm feeling
Don't tell me you're too blind to see

Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you

Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you

(Ooh, give you up)
(Ooh, give you up)
(Ooh)
Never gonna give, never gonna give
(Give you up)
(Ooh)
Never gonna give, never gonna give
(Give you up)

We've know each other for so long
Your heart's been aching but
You're too shy to say it
Inside we both know what's been going on
We know the game and we're gonna play it

I just wanna tell you how I'm feeling
Gotta make you understand

Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you

Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you

Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you"a

16. पाई का एक टुकड़ा सेंकना - 149 बाइट्स (-3)

#"()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
 \::\433832|
  \::\79502|
   \::\8841|
    \::\971|
     \::\69|
      \::\3|
       \__\|"a

20. आप महान अच्छे के लिए एक रानी गोल्फ! - 23 बाइट्स (-39)

$"R34RdR36Ra"R34RdR36Ra

जोड़ा गया भाषा सुविधाएँ

  • a

    • सभी: पूरे मॉडल को टेक्स्ट के रूप में #"Hello, World!"aप्रिंट करें, जैसे प्रिंटHello, World!
  • d

    • स्टैक / डैक: स्टैक को अपने ऊपर से धकेलें।

8

2. स्कोर: 2938 2583

संशोधित दुभाषिया यहाँ TIO पर है

स्ट्रिंग शाब्दिक भाषा के लिए सबसे स्पष्ट अतिरिक्त है, मुख्य रूप से चुनौतियों का सामना करना है।

समाधान की

1. "हैलो, वर्ल्ड!" - 20 बाइट्स (-28)

#"Hello, World!"[o>]

किसी भी चुनौती को उस संरचना का उपयोग करके पूरा किया जा सकता है #"<string>"[o>]जो स्ट्रिंग के बाद 0 तक दिए गए स्ट्रिंग को आउटपुट करता है।

2. , 2, फ़िज़, 4, बज़ - 419 64 बाइट्स (-1332)

$1[1+1s:3s%{}"zziF"oooos;0s]:5s%{}"zzuB"oooos;0s]s{:O}]10o:100-]

इस पर भयानक गोल्फ के लिए @ user202729 का धन्यवाद।

3. अपने स्रोत कोड में किसी भी संख्या के बिना नंबर 2014 का उत्पादन करें - 9 बाइट्स (-4)

#"ĒĎ"[O>]

Bugle कोडपाइंट में दो वर्ण 20 और 14 का उपयोग करता है।

4. नमस्ते दुनिया नमस्कार - 19 बाइट्स (-153)

#"Ifmmp!Xpsme"[-o>]

# 1 (नहीं HLWDhlwd) और # 3 (नहीं 27) नियम निर्धारित करता है ।

5. अपनी पसंदीदा प्रोग्रामिंग भाषा में जन्मदिन की शुभकामनाएं गाएं - 98 बाइट्स (-230)

#"Happy Birthday to You
Happy Birthday to You
Happy Birthday Dear Bugle
Happy Birthday to You"[o>]

6. हम गोल्फ को कोड करने के लिए कोई अजनबी नहीं हैं, आप नियमों को जानते हैं, और इसलिए मैं - 1887 बाइट्स (-5006)

#"We're no strangers to love
You know the rules and so do I
A full commitment's what I'm thinking of
You wouldn't get this from any other guy
I just wanna tell you how I'm feeling
Gotta make you understand

Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you

We've known each other for so long
Your heart's been aching but
You're too shy to say it
Inside we both know what's been going on
We know the game and we're gonna play it
And if you ask me how I'm feeling
Don't tell me you're too blind to see

Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you

Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you

(Ooh, give you up)
(Ooh, give you up)
(Ooh)
Never gonna give, never gonna give
(Give you up)
(Ooh)
Never gonna give, never gonna give
(Give you up)

We've know each other for so long
Your heart's been aching but
You're too shy to say it
Inside we both know what's been going on
We know the game and we're gonna play it

I just wanna tell you how I'm feeling
Gotta make you understand

Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you

Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you

Never gonna give you up
Never gonna let you down
Never gonna run around and desert you
Never gonna make you cry
Never gonna say goodbye
Never gonna tell a lie and hurt you"[o>]

16. पाई का एक टुकड़ा सेंकना - 149 बाइट्स (-290)

#"()()()()()()
|\3.1415926|
|:\53589793|
\::\2384626|
 \::\433832|
  \::\79502|
   \::\8841|
    \::\971|
     \::\69|
      \::\3|
       \__\|"[o>]

20. आप महान अच्छे के लिए एक रानी गोल्फ! - 62 बाइट्स (-12)

#"[>]<o-o+[<]>[o>]<-o;<[<]>[o>]#"[>]<o-o+[<]>[o>]<-o;<[<]>[o>]

भाषा फीचर जोड़ा गया

  • "...": शाब्दिक स्ट्रिंग।
    • स्टैक / डेके: स्टैक / डीके के ऊपर / सामने प्रत्येक बुर्ज के कोडप्लेस को पुश करें।
    • टेप / ग्रिड: वर्तमान सेल से शुरू होकर दाईं ओर टेप / ग्रिड पर प्रत्येक चार्ट के बग कोड को लिखें। कर्सर को स्थानांतरित नहीं करता है।
    • \n अन्य वर्णों की तरह ही संभाला जाता है।
    • अब तक कोई बचा हुआ चरित्र नहीं है, इसलिए आप "इस कमांड का उपयोग करके मेमोरी में नहीं लिख सकते हैं । यह समस्या का बहुत बड़ा नहीं है, कम से कम अभी के लिए, क्योंकि यहां सूचीबद्ध सभी चुनौतियां "आउटपुट में नहीं हैं ।

किसी भी आगे की गोल्फिंग का हमेशा स्वागत है, खासकर "नेवर गिव यू टू गिव अप" और क्वीन के लिए। विशेष रूप से, उपरोक्त क्वाइन मेरे द्वारा कभी बनाया गया पहला पहला nontrivial quine है, इसलिए मेरा दृढ़ता से मानना ​​है कि कोई छोटा व्यक्ति आ सकता है।


विशिष्ट चुनौतियों के लिए सिर्फ और सिर्फ जोड़-घटाव करने की अपेक्षा, मैं बाकी सभी प्रकार के परिवर्धन कर रहा हूँ। +1
केयर्ड सिक्काहेरिंगिंग

@ user202729 यह शायद मुझे है जिसने बग पेश किया; इसे ठीक करने के लिए धन्यवाद और FizzBuzz समाधान।
बब्बलर

3

1. स्कोर: 9638

बेस दुभाषिया यहाँ पाया जा सकता है , और यहाँ प्रस्तुतियाँ । यह बहुत लंबा है, इसलिए मैंने इसे अधिकांश पोस्ट लेने के बजाय GitHub पर शामिल किया है।

समाधान की

ये सभी समाधान यूनिकोड कार्यक्रम हैं, -uकमांड लाइन के झंडे के साथ चलते हैं , लेकिन स्कोर की गिनती बुगले के कोड पेज के साथ एन्कोडेड के रूप में की जाती है।

1. "हैलो, वर्ल्ड!" - 48 बाइट्स

$72o101o108o108o111o44o32o87o111o114o108o100o33o

बस फिर स्ट्रिंग में प्रत्येक वर्ण के वर्ण कोड को आउटपुट करें।

2. 2. 2, फिज़, 4, बज़ - 1396 बाइट्स

$49o10o50o10o70o105o122o122o10o52o10o66o117o122o122o10o70o105o122o122o10o55o10o56o10o70o105o122o122o10o66o117o122o122o10o49o49o10o70o105o122o122o10o49o51o10o49o52o10o70o105o122o122o66o117o122o122o10o49o54o10o49o55o10o70o105o122o122o10o49o57o10o66o117o122o122o10o70o105o122o122o10o50o50o10o50o51o10o70o105o122o122o10o66o117o122o122o10o50o54o10o70o105o122o122o10o50o56o10o50o57o10o70o105o122o122o66o117o122o122o10o51o49o10o51o50o10o70o105o122o122o10o51o52o10o66o117o122o122o10o70o105o122o122o10o51o55o10o51o56o10o70o105o122o122o10o66o117o122o122o10o52o49o10o70o105o122o122o10o52o51o10o52o52o10o70o105o122o122o66o117o122o122o10o52o54o10o52o55o10o70o105o122o122o10o52o57o10o66o117o122o122o10o70o105o122o122o10o53o50o10o53o51o10o70o105o122o122o10o66o117o122o122o10o53o54o10o70o105o122o122o10o53o56o10o53o57o10o70o105o122o122o66o117o122o122o10o54o49o10o54o50o10o70o105o122o122o10o54o52o10o66o117o122o122o10o70o105o122o122o10o54o55o10o54o56o10o70o105o122o122o10o66o117o122o122o10o55o49o10o70o105o122o122o10o55o51o10o55o52o10o70o105o122o122o66o117o122o122o10o55o54o10o55o55o10o70o105o122o122o10o55o57o10o66o117o122o122o10o70o105o122o122o10o56o50o10o56o51o10o70o105o122o122o10o66o117o122o122o10o56o54o10o70o105o122o122o10o56o56o10o56o57o10o70o105o122o122o66o117o122o122o10o57o49o10o57o50o10o70o105o122o122o10o57o52o10o66o117o122o122o10o70o105o122o122o10o57o55o10o57o56o10o70o105o122o122o10o66o117o122o122o

हैलो, विश्व के रूप में एक ही तकनीक! उदाहरण

3. अपने स्रोत कोड में 13 नंबर बाइट्स के बिना नंबर 2014 का उत्पादन करें

#++O--O+O+++O

#टेप का उपयोग करता है, +सेल को बढ़ाता है, Oएक पूर्णांक और -डिक्रीमेंट के रूप में आउटपुट करता है

4. नमस्ते विश्व - 172 बाइट्स

#+++++++++[>++++++++<-]>o<++++[>+++++++<-]>+o+++++++oo+++o>++++[>+++++++++++<-]>o------------o[-]++++++++[>+++++++++++<-]>-o<<<o+++o------o--------o[-]+++[>+++++++++++<-]>o

ब्रेनफैक के लिए अपनी अंतर्निहित समानता का उपयोग करता है। # 1 और # 3 का नियम बनाता है

5. अपनी पसंदीदा प्रोग्रामिंग भाषा - 328 बाइट्स के लिए जन्मदिन मुबारक गाओ

$72o97o112o112o121o32o66o105o114o116o104o100o97o121o32o116o111o32o89o111o117o10o72o97o112o112o121o32o66o105o114o116o104o100o97o121o32o116o111o32o89o111o117o10o72o97o112o112o121o32o66o105o114o116o104o100o97o121o32o68o101o97o114o32o66o117o103o108o101o10o72o97o112o112o121o32o66o105o114o116o104o100o97o121o32o116o111o32o89o111o117o

वर्तमान में सभी चुनौतियों में इस तरह की संरचना है।

6. हम गोल्फ को कोड करने के लिए कोई अजनबी नहीं हैं, आप नियमों को जानते हैं, और इसलिए मैं - 6893 बाइट्स

$87o101o39o114o101o32o110o111o32o115o116o114o97o110o103o101o114o115o32o116o111o32o108o111o118o101o10o89o111o117o32o107o110o111o119o32o116o104o101o32o114o117o108o101o115o32o97o110o100o32o115o111o32o100o111o32o73o10o65o32o102o117o108o108o32o99o111o109o109o105o116o109o101o110o116o39o115o32o119o104o97o116o32o73o39o109o32o116o104o105o110o107o105o110o103o32o111o102o10o89o111o117o32o119o111o117o108o100o110o39o116o32o103o101o116o32o116o104o105o115o32o102o114o111o109o32o97o110o121o32o111o116o104o101o114o32o103o117o121o10o73o32o106o117o115o116o32o119o97o110o110o97o32o116o101o108o108o32o121o111o117o32o104o111o119o32o73o39o109o32o102o101o101o108o105o110o103o10o71o111o116o116o97o32o109o97o107o101o32o121o111o117o32o117o110o100o101o114o115o116o97o110o100o10o32o10o78o101o118o101o114o32o103o111o110o110o97o32o103o105o118o101o32o121o111o117o32o117o112o10o78o101o118o101o114o32o103o111o110o110o97o32o108o101o116o32o121o111o117o32o100o111o119o110o10o78o101o118o101o114o32o103o111o110o110o97o32o114o117o110o32o97o114o111o117o110o100o32o97o110o100o32o100o101o115o101o114o116o32o121o111o117o10o78o101o118o101o114o32o103o111o110o110o97o32o109o97o107o101o32o121o111o117o32o99o114o121o10o78o101o118o101o114o32o103o111o110o110o97o32o115o97o121o32o103o111o111o100o98o121o101o10o78o101o118o101o114o32o103o111o110o110o97o32o116o101o108o108o32o97o32o108o105o101o32o97o110o100o32o104o117o114o116o32o121o111o117o10o32o10o87o101o39o118o101o32o107o110o111o119o110o32o101o97o99o104o32o111o116o104o101o114o32o102o111o114o32o115o111o32o108o111o110o103o10o89o111o117o114o32o104o101o97o114o116o39o115o32o98o101o101o110o32o97o99o104o105o110o103o32o98o117o116o10o89o111o117o39o114o101o32o116o111o111o32o115o104o121o32o116o111o32o115o97o121o32o105o116o10o73o110o115o105o100o101o32o119o101o32o98o111o116o104o32o107o110o111o119o32o119o104o97o116o39o115o32o98o101o101o110o32o103o111o105o110o103o32o111o110o10o87o101o32o107o110o111o119o32o116o104o101o32o103o97o109o101o32o97o110o100o32o119o101o39o114o101o32o103o111o110o110o97o32o112o108o97o121o32o105o116o10o65o110o100o32o105o102o32o121o111o117o32o97o115o107o32o109o101o32o104o111o119o32o73o39o109o32o102o101o101o108o105o110o103o10o68o111o110o39o116o32o116o101o108o108o32o109o101o32o121o111o117o39o114o101o32o116o111o111o32o98o108o105o110o100o32o116o111o32o115o101o101o10o32o10o78o101o118o101o114o32o103o111o110o110o97o32o103o105o118o101o32o121o111o117o32o117o112o10o78o101o118o101o114o32o103o111o110o110o97o32o108o101o116o32o121o111o117o32o100o111o119o110o10o78o101o118o101o114o32o103o111o110o110o97o32o114o117o110o32o97o114o111o117o110o100o32o97o110o100o32o100o101o115o101o114o116o32o121o111o117o10o78o101o118o101o114o32o103o111o110o110o97o32o109o97o107o101o32o121o111o117o32o99o114o121o10o78o101o118o101o114o32o103o111o110o110o97o32o115o97o121o32o103o111o111o100o98o121o101o10o78o101o118o101o114o32o103o111o110o110o97o32o116o101o108o108o32o97o32o108o105o101o32o97o110o100o32o104o117o114o116o32o121o111o117o10o32o10o78o101o118o101o114o32o103o111o110o110o97o32o103o105o118o101o32o121o111o117o32o117o112o10o78o101o118o101o114o32o103o111o110o110o97o32o108o101o116o32o121o111o117o32o100o111o119o110o10o78o101o118o101o114o32o103o111o110o110o97o32o114o117o110o32o97o114o111o117o110o100o32o97o110o100o32o100o101o115o101o114o116o32o121o111o117o10o78o101o118o101o114o32o103o111o110o110o97o32o109o97o107o101o32o121o111o117o32o99o114o121o10o78o101o118o101o114o32o103o111o110o110o97o32o115o97o121o32o103o111o111o100o98o121o101o10o78o101o118o101o114o32o103o111o110o110o97o32o116o101o108o108o32o97o32o108o105o101o32o97o110o100o32o104o117o114o116o32o121o111o117o10o32o10o40o79o111o104o44o32o103o105o118o101o32o121o111o117o32o117o112o41o10o40o79o111o104o44o32o103o105o118o101o32o121o111o117o32o117o112o41o10o40o79o111o104o41o10o78o101o118o101o114o32o103o111o110o110o97o32o103o105o118o101o44o32o110o101o118o101o114o32o103o111o110o110o97o32o103o105o118o101o10o40o71o105o118o101o32o121o111o117o32o117o112o41o10o40o79o111o104o41o10o78o101o118o101o114o32o103o111o110o110o97o32o103o105o118o101o44o32o110o101o118o101o114o32o103o111o110o110o97o32o103o105o118o101o10o40o71o105o118o101o32o121o111o117o32o117o112o41o10o32o10o87o101o39o118o101o32o107o110o111o119o32o101o97o99o104o32o111o116o104o101o114o32o102o111o114o32o115o111o32o108o111o110o103o10o89o111o117o114o32o104o101o97o114o116o39o115o32o98o101o101o110o32o97o99o104o105o110o103o32o98o117o116o10o89o111o117o39o114o101o32o116o111o111o32o115o104o121o32o116o111o32o115o97o121o32o105o116o10o73o110o115o105o100o101o32o119o101o32o98o111o116o104o32o107o110o111o119o32o119o104o97o116o39o115o32o98o101o101o110o32o103o111o105o110o103o32o111o110o10o87o101o32o107o110o111o119o32o116o104o101o32o103o97o109o101o32o97o110o100o32o119o101o39o114o101o32o103o111o110o110o97o32o112o108o97o121o32o105o116o10o32o10o73o32o106o117o115o116o32o119o97o110o110o97o32o116o101o108o108o32o121o111o117o32o104o111o119o32o73o39o109o32o102o101o101o108o105o110o103o10o71o111o116o116o97o32o109o97o107o101o32o121o111o117o32o117o110o100o101o114o115o116o97o110o100o10o32o10o78o101o118o101o114o32o103o111o110o110o97o32o103o105o118o101o32o121o111o117o32o117o112o10o78o101o118o101o114o32o103o111o110o110o97o32o108o101o116o32o121o111o117o32o100o111o119o110o10o78o101o118o101o114o32o103o111o110o110o97o32o114o117o110o32o97o114o111o117o110o100o32o97o110o100o32o100o101o115o101o114o116o32o121o111o117o10o78o101o118o101o114o32o103o111o110o110o97o32o109o97o107o101o32o121o111o117o32o99o114o121o10o78o101o118o101o114o32o103o111o110o110o97o32o115o97o121o32o103o111o111o100o98o121o101o10o78o101o118o101o114o32o103o111o110o110o97o32o116o101o108o108o32o97o32o108o105o101o32o97o110o100o32o104o117o114o116o32o121o111o117o10o32o10o78o101o118o101o114o32o103o111o110o110o97o32o103o105o118o101o32o121o111o117o32o117o112o10o78o101o118o101o114o32o103o111o110o110o97o32o108o101o116o32o121o111o117o32o100o111o119o110o10o78o101o118o101o114o32o103o111o110o110o97o32o114o117o110o32o97o114o111o117o110o100o32o97o110o100o32o100o101o115o101o114o116o32o121o111o117o10o78o101o118o101o114o32o103o111o110o110o97o32o109o97o107o101o32o121o111o117o32o99o114o121o10o78o101o118o101o114o32o103o111o110o110o97o32o115o97o121o32o103o111o111o100o98o121o101o10o78o101o118o101o114o32o103o111o110o110o97o32o116o101o108o108o32o97o32o108o105o101o32o97o110o100o32o104o117o114o116o32o121o111o117o10o32o10o78o101o118o101o114o32o103o111o110o110o97o32o103o105o118o101o32o121o111o117o32o117o112o10o78o101o118o101o114o32o103o111o110o110o97o32o108o101o116o32o121o111o117o32o100o111o119o110o10o78o101o118o101o114o32o103o111o110o110o97o32o114o117o110o32o97o114o111o117o110o100o32o97o110o100o32o100o101o115o101o114o116o32o121o111o117o10o78o101o118o101o114o32o103o111o110o110o97o32o109o97o107o101o32o121o111o117o32o99o114o121o10o78o101o118o101o114o32o103o111o110o110o97o32o115o97o121o32o103o111o111o100o98o121o101o10o78o101o118o101o114o32o103o111o110o110o97o32o116o101o108o108o32o97o32o108o105o101o32o97o110o100o32o104o117o114o116o32o121o111o117o

7. साइन आउटपुट - 18 बाइट्स

$?:Zs0=0s-s:1s-++O

जांच करें कि क्या इनपुट शून्य से अधिक शून्य से भी कम है (उपज के लिए बदल -1के बजाय 1) और शून्य के बराबर है, उनकी राशि लेने से पहले।

8. Collatz अनुमान (OEIS A006577) - 36 बाइट्स

#$?:1-[:2s%{3×1+}2s÷]:1s-₀+₁]₀O

यह स्टैक पर लूपिंग करता है, लेकिन प्रत्येक पुनरावृत्ति को गिनने के लिए टेप पर स्विच करता है।

9. # 1 चुनौतियों की एक सरणी: वैकल्पिक ऐरे - 35 बाइट्स

#?>?>+>?[[<+<<->>>-]+<[-<<]>[>]?]<O

यह मिच श्वार्ट्ज की मौजूदा चुनौती का थोड़ा सा संशोधन है , इसे बढ़ाएं!

10. क्या मैं एक तुच्छ सरणी हूँ? - 46 बाइट्स

$1 0-?…1[s:sr-:Z1s-2×1+×1s-Z1-L2s-×]1+Z1-O

सभी क्रेडिट को जाता है Emigna के लिए कर रही है इस

11. क्या यह संख्या एक प्रधान है? - 31 बाइट्स

$?:1s-:[:1s-:];L1s[×L2s-]:×%O

विल्सन के प्रमेय का उपयोग करता है और गणना करता है (n-1)!² % n

12. मैं एक पलिंद हूं। क्या आप? - 13 बाइट्स

$?:R=:O:=R:?$

कार्यक्रम की पहली छमाही तक O, स्टैक को सेट किया जाता है जैसे [x, x]कि या xतो Trueया FalseOशीर्ष मूल्य को पॉप करता है और इसे आउटपुट करता है। कार्यक्रम का बाकी हिस्सा सिर्फ यह सुनिश्चित करता है कि कोई त्रुटि उत्पन्न न हो। सौभाग्य से, जब ?फ़ाइल के अंत का सामना होता है, तो यह केवल धक्का देता है ''(खाली स्ट्रिंग)।

13. 19 बाइट्स में मानक पर संख्याओं का योग

$?:[?:];L0s[+L1s-]O

इसे दो भागों में विभाजित किया जा सकता है: ?:[?:];और L0s[+L1s-]। पहला भाग स्टैक के लिए सभी इनपुट एकत्र करता है। दूसरा भाग शीर्ष दो तत्वों के योग को धक्का देता है, जबकि लंबाई 1 से अधिक है।

14. फैक्टरियल खोजें - 25 बाइट्स

$?:[:1s-:];L1s-Z[×L1s-]O

यह योग कार्यक्रम के लिए एक समान संरचना है, लेकिन ltiple इनपुट को आगे बढ़ाने के बजाय, [:1s-:];सीमा 1 .. nको स्टैक से धकेलता है , और [×L1s-]उत्पाद लेता है।

15. अनंत उत्पादन के लिए सबसे छोटा कोड - 5 बाइट्स

#+[O]

1पॉइंटर के नीचे लगातार लूप का उपयोग करें । 1हमेशा के लिए आउटपुट ।

16. पाई का एक टुकड़ा सेंकना - 439 बाइट्स

$40o41o40o41o40o41o40o41o40o41o40o41o10o124o92o51o46o49o52o49o53o57o50o54o124o10o124o58o92o53o51o53o56o57o55o57o51o124o10o92o58o58o92o50o51o56o52o54o50o54o124o10o32o92o58o58o92o52o51o51o56o51o50o124o10o32o32o92o58o58o92o55o57o53o48o50o124o10o32o32o32o92o58o58o92o56o56o52o49o124o10o32o32o32o32o92o58o58o92o57o55o49o124o10o32o32o32o32o32o92o58o58o92o54o57o124o10o32o32o32o32o32o32o92o58o58o92o51o124o10o32o32o32o32o32o32o32o92o95o95o92o124o

17. सबसे छोटी संख्या का पता लगाएं जो N को विभाजित नहीं करता है

$?:1:[:rs%0=s1+srr:Rs]1s-O

यह ट्रायल डिवीजन का उपयोग करता है, जब मोड्यूलो का परिणाम बराबर नहीं होता है 0

18. यह सम या विषम है? - 5 बाइट्स

$2?%O

2 से सरल मोदुलो

19. कोड के समान लंबाई के साथ आउटपुट - 16 बाइट्स

$16:[32+:o33s-:]

पहले 16 मुद्रण योग्य ASCII वर्णों को रिवर्स में आउटपुट करता है: 0/.-,+*)('&%$#"!

20. आप महान अच्छे के लिए एक रानी गोल्फ!

$1[93, 76, 111, 91, 49, 59, 104, 48, 79, 49, 111, 54, 51, 0]
36o1O0h;1[oL]

इसे बनाने के लिए श्रेय user202729 को जाता है


भाषा विनिर्देशन

कॉलिंग

bugle.pyवर्तमान में झंडे की एक श्रृंखला लगती है, फिर फ़ाइल नाम / कोड निष्पादित किया जाएगा। अभी तक, इसमें 4 कमांड लाइन झंडे हैं:

  • -f/ --fileनिर्दिष्ट करता है कि कोड एक फ़ाइल से पढ़ा जाना है
  • -c/ --cmd/ --cmdlineनिर्दिष्ट करता है कि कोड कमांड लाइन के माध्यम से आपूर्ति की गई है।

    -cऔर -fएक ही कॉल में इस्तेमाल नहीं किया जा सकता है

  • -u/ --unicodeयूनिकोड एन्कोडिंग के साथ कोड को पढ़ने के लिए दुभाषिया को बताता है। नीचे दिए गए Bugle के एन्कोडिंग का उपयोग करने के लिए डिफ़ॉल्ट है

  • -l/ --lengthनिष्पादन के बाद फ़ाइल की लंबाई, बाइट्स में, STDERR को आउटपुट करता है

उपरोक्त कॉलम का परीक्षण करने के लिए निम्न कॉल का उपयोग किया गया था

$ python bugle.py -f -u [file]

कोड पेज

Bugle अपने कोड पेज में 512 अक्षरों का उपयोग करता है। चरित्र एक आदेश के लिए इस्तेमाल करने के लिए नहीं है जा , जैसा कि इसके इंगित करने के लिए प्रयोग किया जाता है कि कोड पेज की दूसरी छमाही में सूचकांक करने के लिए अगले हेक्स मान। उपयोग किए गए वर्ण हैं:0xFF

ÀÁÂÄÆÃÅĀĄ\t\nĆČÇĎÐ
ÈÉÊËĒĖĚĘÌÍÎÏĪĮĹĽ
 !"#$%&'()*+,-./
0123456789:;<=>?
@ABCDEFGHIJKLMNO
PQRSTUVWXYZ[\]^_
`abcdefghijklmno
pqrstuvwxyz{|}~¶
ŁŃŇÑŊÒÓÔÖŒÕØŌŔŘŚ
ŠŤŦÙÚÛÜŮŪŴÝŶŸŹŽŻ
àáâäæãåāąćčçďðèé
êëēėěęìíîïīįĺľłń
ňñŋòóôöœøōõŕřßśš
ťŧùúûüůūŵýŷÿźžż◊
ΑΆΒΓΔΕΈΖΗΉΘΙΊΚΛΜ
ΝΞΟΌΠΡΣΤΥΎΦΧΨΩΏ
αάβγδεέζηήθιίΐκλ
μνξοόπσςτυύΰφχψω
ώǴḰḾṔẂǵḱḿṕẃḂḞĠḢṀ
ȮṖṠṪẊḃḟġḣṁȯṗṡṫẋ§
ĂĞĬŎŬĴăğĭŏŭĵªº‹›
ƁƇƊƑƓƘⱮƝƤƬƲȤɓƈɗƒ
ɠɦƙɱɲƥʠɼʂƭʋȥ©®ıȷ
ЉЊЕРТЗУИОПШАСДФГ
ХЈКЛЧЋЅЏЦВБНМЂЖљ
њертзуиопшасдфгх
јклчћѕџцвбнмђжÞþ
†∂∆≈≠√∈∉∌∋∩∪¬∧∨⊕
¤₽¥£¢€₩‰¿¡⁇⁈‼⁉‽⸘
…°•”“„’‘≤«·»≥ᴇ∞¦
×⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾
÷₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎

या इसे तालिका प्रारूप में देखें । ध्यान दें कि \tऔर \nक्रमशः टैब और न्यू लाइन प्रतिनिधित्व करते हैं। यह भी ध्यान रखें कि 16 वीं पंक्ति एक अनपेक्षित वर्ण के साथ समाप्त होती है: और सभी ब्राउज़रों पर प्रदर्शित नहीं हो सकती है।

स्मृति

दुभाषिया में वर्तमान में 5 मेमोरी मॉडल हैं, जो इसमें बनाए गए हैं। प्रत्येक मेमोरी मॉडल को उस मॉडल का उपयोग शुरू करने के लिए दुभाषिया को बताने के लिए एक चरित्र की आवश्यकता होती है:

  • स्टैक ( $): एक मानक स्टैक, जो मानों को धकेलने, पॉप करने आदि का समर्थन करता है।
  • अनंत टेप ( #): एक टेप, एक ला ब्रेनफैक, जो शुरू में केवल 0एस है।
  • अनंत ग्रिड ( G): एक 2d ग्रिड, दोनों दिशाओं में अनंत, जिसमें केवल 0s है
  • Deque ( D): एक deque , जैसा कि collectionsमॉड्यूल द्वारा कार्यान्वित किया जाता है।
  • रजिस्टर ( S): एक एकल मान, जिसका उपयोग एक मान को संग्रहीत करने के लिए किया जा सकता है ।

ग्रिड के पास अपने पॉइंटर में सहेजे गए एकल मान भी होते हैं जिन्हें सेल में लिखा या लिखा जा सकता है।

इसके अलावा, टेप और ग्रिड आकार और रैपिंग व्यवहार को अलग-अलग आह्वान कमांड का उपयोग करके संशोधित किया जा सकता है। ये विभिन्न कमांड वर्तमान मेमोरी मॉडल से अनुकूलन मापदंडों के रूप में दिए गए मानों की संख्या लेते हैं:

  • टेप ( À): दो मान लेता है - आकार ( int) और रैपिंग ( bool)
  • टेप ( Á): एक मान लेता है - आकार ( int)। टेप के अंत में लपेटता है
  • टेप ( Â): एक मान लेता है - आकार ( int)। अंत में लपेटता नहीं है
  • ग्रिड ( Ǵ): 4 मान लेता है - x आकार ( int), y आकार ( int), x रैप ( bool) और y रैप ( bool)

उपयोग किए जा रहे मेमोरी प्रकार को प्रोग्राम के दौरान बदल सकते हैं ₀₁₂₃₄₅₆₇₈₉, जिसके उपयोग से 0-अनुक्रमित nवें उपयोग किए गए मेमोरी प्रकार ( यह पहला है, दूसरा है), लेकिन, वर्तमान में, विभिन्न मेमोरी प्रकारों के बीच मानों की अदला-बदली नहीं की जा सकती है।

शाखाओं में

अब तक बुगले की दो शाखायें हैं, दोनों को एक ]पात्र के साथ समाप्त किया गया :

  • जबकि ( [): लूप्स के दौरान ब्रेनफक-स्टाइल। अगर इस्तेमाल किया जा रहा है, या टेप / ग्रिड में सूचक के तहत सेल तक पहुँचने से ये स्टैक / डीके से एक मूल्य पॉप करते हैं।

    उदाहरण: #?[-O]इनपुट नीचे से गिना जाता है0

  • यदि / और ( {और })। लूप्स करते समय एकल निष्पादन। यदि मान पॉप किया गया है, तो यदि क्लॉज़ को छोड़ दिया जाता है, तो क्लॉज़ को अलग करके, क्लॉज़ को छोड़ दिया जाता है }। वे उसी तरह व्यवहार करते हैं जैसे मेमोरी एक्सेस के संबंध में लूप करते हैं।

    उदाहरण: {0}1]एक तार्किक गेट नहीं है

बिलिन कार्य

अंकों की संख्या को पूर्णांक के रूप में व्याख्यायित किया जाता है, और वर्तमान मेमोरी मॉडल के अनुसार बस धकेल दिया जाता है / लिखा जाता है।

जाहिर है, मैंने कुछ बुनियादी बिलिन कार्यों के साथ बगले को सुसज्जित किया है, जितना कि मैं कर सकता था, दूसरों को श्रृंखला की प्रगति के रूप में अधिक जोड़ने की अनुमति देने के लिए। आधार कमांड इस प्रकार हैं:

  • +

    • Stack / Deque: शीर्ष दो मान जोड़ें
    • टेप / ग्रिड: वर्तमान सेल में वृद्धि
  • -

    • स्टैक / डीके: शीर्ष दो मूल्यों को घटाएं
    • टेप / ग्रिड: वर्तमान सेल में कमी
  • %

    • स्टैक / डीके: मोडुलो शीर्ष दो मान
  • :

    • Stack / Deque: शीर्ष मान को डुप्लिकेट करें
  • ;

    • स्टैक / डीके: शीर्ष मूल्य पॉप
    • टेप / ग्रिड: शून्य वर्तमान सेल
  • <

    • टेप / ग्रिड: बाएं एक सेल को स्थानांतरित करें
  • =

    • ढेर: क्या शीर्ष दो मूल्य समान हैं?
    • ग्रिड: एक सेल नीचे ले जाएँ
  • >

    • टेप / ग्रिड: दाएं एक सेल को स्थानांतरित करें
  • ?

    • Stack / Deque: इनपुट की एक रेखा का मूल्यांकन करें
    • टेप / ग्रिड: इनपुट का एक पात्र लें
  • L

    • स्टैक / डेके: स्टैक / डीके की लंबाई को पुश करें
  • O

    • सभी: आउटपुट वर्तमान मूल्य
  • R

    • स्टैक: यदि संभव हो तो शीर्ष तत्व को उल्टा करें, अन्यथा स्टैक को उल्टा करें
  • Z

    • ढेर: शीर्ष तत्व सकारात्मक है?
  • ^

    • ग्रिड: एक सेल ऊपर ले जाएँ
  • h

    • सभी: पूर्ण मेमोरी मॉडल प्रिंट करें
  • o

    • सभी: एक चरित्र के रूप में वर्तमान मूल्य प्रिंट करें
  • r

    • स्टैक: शीर्ष 3 मानों को घुमाएं
    • Deque: शीर्ष मान को घुमाएँ n, जहाँ nशीर्ष मान है
  • s

    • स्टैक / डीके: शीर्ष दो मानों को स्वैप करें
    • स्टैक: शीर्ष मूल्य को अलग करें
  • ×

    • स्टैक: शीर्ष दो मूल्यों को गुणा करें
    • ग्रिड: वर्तमान सेल में सूचक मान लिखें
  • ÷

    • स्टैक: शीर्ष दो मूल्यों को विभाजित करें
    • ग्रिड: वर्तमान सेल को पॉइंटर मान पर लिखें
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.