एक व्हॉट्सएप गोल्फर को लागू करें


15

जैसे कुछ दो आयामी esolangs, Forked जैसे, और कुछ गैर esolangs, अजगर , कभी कभी कोड की लाइनों से पहले रिक्त स्थान की आवश्यकता होती है सकते हैं। यह बहुत गोल्फ नहीं है। इसके अलावा, मैं आलसी हूं और एक 2 डी लैंग लिख रहा हूं जिसे कोड से पहले बहुत सारे रिक्त स्थान की आवश्यकता है। आपका काम एक उपकरण लिखना है जो इन भाषाओं को गोल्फ बनाता है।

बेशक, यह सही नहीं होगा; उदाहरण के लिए, जब कोई संख्या स्रोत की एक पंक्ति का पहला वर्ण होता है, तो इसका उपयोग नहीं किया जा सकता है। हालांकि, यह आम तौर पर उपयोगी होगा।

चुनौती

आप एक प्रोग्राम या फ़ंक्शन लिखेंगे जो या तो ...

  • ... एक तर्क, एक नाम या एक स्ट्रिंग, या लेता है ...
  • ... मानक इनपुट से पढ़ता है।

आपके कार्यक्रम को catछोड़कर, जैसे कार्य करेंगे :

  • यदि किसी भी लाइन पर पहला वर्ण एक संख्या है, तो आपका कोड x स्थान प्रिंट करेगा , जहां x वह संख्या है।
  • अन्यथा, यह बस मुद्रित किया जाएगा।
  • जैसा कि इनपुट में हर दूसरे किरदार का होगा।

परीक्षण के मामलों

इनपुट:

foo bar foo bar
1foo bar foo bar foo bar
2foo bar foo bar foo bar foo bar

आउटपुट:

foo bar foo bar
 foo bar foo bar foo bar
  foo bar foo bar foo bar foo bar

इनपुट:

--------v
8|
8|
80
8,
7&

आउटपुट:

--------v
        |
        |
        0
        ,
       &

इनपुट:

foo bar
bar foo
foo bar

आउटपुट:

foo bar
bar foo
foo bar

इनपुट:

0123456789
1234567890
2345678901
3456789012
4567890123

आउटपुट:

123456789
 234567890
  345678901
   456789012
    567890123

नियम

  • आउटपुट बिल्कुल इनपुट के रूप में होना चाहिए, केवल उन लाइनों को छोड़कर जहां पहला वर्ण एक संख्या है।
  • यदि आप चाहें, तो आपका प्रोग्राम फ़ाइल में कुछ भी जोड़ / पूर्व निर्धारित नहीं कर सकता, सिवाय एक अनुगामी न्यूलाइन के।
  • आपका कार्यक्रम इनपुट के बारे में कोई धारणा नहीं बना सकता है। इसमें खाली लाइनें, कोई संख्या, यूनिकोड वर्ण, जो कुछ भी हो सकते हैं।
  • यदि एक से अधिक अंकों वाली संख्या एक रेखा (जैसे 523abcdefg) शुरू होती है , तो केवल पहला अंक (उदाहरण में, 5) रिक्त स्थान में बदलना चाहिए।

विजेता

प्रत्येक भाषा में सबसे छोटा कोड जीतता है। मज़ा करो और अच्छी किस्मत पाओ!



6
Of course, this will not be perfect; it cannot be used, for instance, when a number is the first character on a line of source.सच नहीं है, बस पहले अक्षर को 0 (अहम, आपका आखिरी टेस्ट केस)
बनाएं

क्या हम स्टड से तार की एक सूची पढ़ सकते हैं ( क्या यह वैध है )?
रिले

जवाबों:



10

मूल रूप से , 69 बाइट्स

R1B1R3B1~(+50<7?6{+54>7?6{-002+7~?6{(@5*1-1/1)6}}}(-6>7?6&@7+70-4~)6)

इसे ऑनलाइन आज़माएं!

स्पष्टीकरण:

पहले हम यह आरंभीकरण करते हैं:

R1B1R3B1

इस घन को स्थापित करने के लिए:

   533
   004
   000
411223455441
311222331440
311222331440
   555
   555
   200

इस क्यूब के बारे में सबसे महत्वपूर्ण बात यह है कि चेहरा 532 तक बैठता है, जो रिक्त स्थान को प्रिंट करने के लिए आवश्यक मूल्य है। संयोगवश, यह भी अन्य सभी संगणना के लिए काफी छोटा होता है। उसके बाद किया जाता है:

~( . . . )                                    Takes the first input, then loops indefinitely

  +50<7?6{+54>7?6{-002+7~?6{(@5*1-1/1)6}}}    Handle leading digit:
  +50<7?6{                               }    If input is greater than 47 ('0' is 48)
          +54>7?6{                      }     And input is less than 58 ('9' is 57)
                                              Then input is a digit
                  -002+7                      Set notepad equal to value of input digit
                        ~                     Take next input (only convenient place for it)
                         ?6{           }      If the notepad isn't 0
                            (        )6       While the notepad isn't 0:
                             @5                 Print a space
                               *1-1/1           Decrement the notepad by one
                                              Leading digit handled

     (-6>7?6&@7+70-4~)6                       Handle rest of line:
     (               )6                       While the notepad isn't 0:
      -6>7?6&                                   Exit if End of Input
             @7                                 Print the next character
               +70-4                            Set notepad to 0 if it was a newline
                    ~                           Take the next character

1
वाह, यह नेस्टेड का एक अच्छा उपयोग है ... सब कुछ। +1
एमडी एक्सएफ

6

भूसी , 15 13 बाइट्स

-2 बाइट्स @Zgarb के लिए धन्यवाद

mΓo+?oR' i;±¶

इसे ऑनलाइन आज़माएं!

@ जोनाथन एलन के रूप में एक ही तकनीक का उपयोग करता है

व्याख्या

             ¶  -- split input into a list of lines
m               -- apply the following function to each line
 Γ              --   deconstruct the string into a head and a tail
  o+            --   prepend to the tail of the string ...
    ?      ±    --     if the head is a digit (n)
     oR' i      --       the string of n spaces
                --     else
          ;     --       the head of the string
                -- implicitly print list of strings line-by-line

2
के उपयोग के साथ 13 बाइट्सΓ
जर्गर्ब

5

जावास्क्रिप्ट (ईएस 8), 38 37 बाइट्स

a=>a.replace(/^\d/gm,a=>''.padEnd(a))

मुझे नहीं लगता कि इसमें और सुधार किया जा सकता है। झबरा
के लिए 1 बाइट के लिए धन्यवाद - ईएस 8 सुविधाओं का उपयोग करें।


" मुझे नहीं लगता कि इसे और अधिक सुधार किया जा सकता है। " - आप ईएस 8 का उपयोग करके एक बाइट को बचा सकते हैं padEndजैसे:s=>s.replace(/^\d/gm,m=>"".padEnd(m))
झबरा

@Shaggy। मुझे नहीं पता था कि ES8 की अनुमति पहले से है। धन्यवाद।

1
अगर वहाँ कोई एकल दुभाषिया (यानी, ब्राउज़र) है कि एक सुविधा का समर्थन करता है तो उस सुविधा यहाँ निष्पक्ष खेल है :)
झबरा

4

पायथन 2 , 98 74 67 65 बाइट्स

-24 बाइट्स की बदौलत जोनाथन एलन। -7 बाइट्स मिस्टर एक्सकोडर की बदौलत।

for i in open('f'):print' '*int(i[0])+i[1:]if'/'<i[:1]<':'else i,

इसे ऑनलाइन आज़माएं!

नामित फ़ाइल में इनपुट लेता है f


जब कोई रेखा के पहले वर्ण में कोई अंक नहीं होता है (जब सभी तत्वों का मूल्यांकन करने के लिए आइटम चुनने के तरीके के रूप में एक सूची का उपयोग किया जाता है)
जोनाथन एलन


87 बाइट्स - TIO लिंक का हेडर मॉकिंग है open; कोड 'f' नाम की फाइल की उम्मीद कर रहा है। मेरे अनुसार यह ठीक है?
जोनाथन एलन

आह, सच ही ' '*0गलत है। उपयोग करना [:1]अभी भी एक बचत है। लाइनों के माध्यम से पुनरावृति करने के लिए डिफ़ॉल्ट व्यवहार के बाद से readमुझे विश्वास (और यह होगा readlines) की कोई आवश्यकता नहीं है open। इसके अलावा 'r'डिफ़ॉल्ट के बाद से मोड की कोई आवश्यकता नहीं है । अगर मैं सही हूँ कि 73 !
जोनाथन एलन


4

रूबी , 24 21 + 1 = 25 22 बाइट्स

-pझंडे का उपयोग करता है । जीबी से -3 बाइट्स।

sub(/^\d/){"%#$&s"%p}

इसे ऑनलाइन आज़माएं!


{"% # $ & s"% ""} 1 बाइट बचाता है
GB

और एक और बाइट यदि आप gsub के बजाय उप का उपयोग करते हैं
GB

@GB और दूसरा बाइट %pइसके बजाय अंत में डालकर %""। आपकी सहायताके लिए धन्यवाद!
मूल्य स्याही

3

05AB1E , 10 बाइट्स

v0y¬dićú},

इसे ऑनलाइन आज़माएं!


1
खाली लाइनों के साथ एक इनपुट कैसे होता है?
जोनाथन एलन

कोई विचार नहीं है ... मैं इसे
ओलिवर नी

|vy¬dićú},10 बाइट्स के लिए काम करता है।
रिले

ठीक है, यह एक खाली लाइन को इनपुट नहीं कर सकता है, यह है कि कोड एक खाली लाइन के लिए काम नहीं करता है : यदि कोई एक शून्य का उपयोग करता है तो यह काम करता है, इसलिए यह आवश्यक है कि सिर के बारे में कुछ मौजूद नहीं है (वही @ रिले के सुझाव 10 के लिए जाता है) वैसे)।
जोनाथन एलन

@JonathanAllan इसका |काम करने के तरीके से कुछ लेना-देना है । यह माना जाता है push the rest of input as an array with strings, लेकिन यह खाली लाइनों ( TIO ) पर रुकता है । यदि आप अधिक जानना चाहते हैं तो मैं इसे 05AB1E चैट रूम में लाया ।
रिले

2

पायथन 3 , 95 बाइट्स

lambda y:'\n'.join(re.sub('^\d',lambda x:' '*int(x.group()),z)for z in y.split('\n'))
import re

इसे ऑनलाइन आज़माएं!

-4 बाइट्स ThePirateBay से रेगेक्स विचार चोरी करके


4
आप ThePirateBay से चुराते हैं , टेबल कैसे बदल गए हैं
joH1

@ मूनस्ट्रोक HAH लोल मैंने नोटिस भी नहीं किया है कि: P
HyperNeutrino

2

जेली , 19 बाइट्स

V⁶ẋ
Ḣǹe?ØD;
ỴÇ€Yḟ0

वर्णों की सूची लेने और लौटाने की एक विवादास्पद कड़ी, या परिणाम को प्रिंट करने वाला एक पूर्ण कार्यक्रम।

इसे ऑनलाइन आज़माएं!

कैसे?

V⁶ẋ - Link 1, make spaces: character (a digit)
V   - evaluate as Jelly code (get the number the character represents)
 ⁶  - a space character
  ẋ - repeat

Ḣǹe?ØD; - Link 2, process a line: list of characters
Ḣ        - head (get the first character and modify the line)
         -   Note: yields zero for empty lines
     ØD  - digit characters = "0123456789"
    ?    - if:
   e     - ...condition: exists in? (is the head a digit?)
 Ç       - ...then: call the last link as a monad (with the head as an argument)
  ¹      - ...else: identity (do nothing; yields the head)
       ; - concatenate with the beheaded line

ỴÇ€Yḟ0 - Main link: list of characters
Ỵ      - split at newlines
 Ç€    - call the last link (1) as a monad for €ach
   Y   - join with newlines
    ḟ0 - filter out any zeros (the results of empty lines)

beheaded lineक्या वह वास्तविक शब्द है? xD
हाइपरएनुट्रिनो

1
खैर, अब यह है :)
जोनाथन एलन

अहाहा मैंने आपको आउटगोल्फिंग की कोशिश की और एक समाधान के साथ अनिवार्य रूप से आपका एक्सडी के समान समाप्त हो गया
हाइपरन्यूट्रीनो


2

हास्केल , 63 बाइट्स

unlines.map g.lines
g(x:r)|x<';',x>'/'=(' '<$['1'..x])++r
g s=s

इसे ऑनलाइन आज़माएं! पहली पंक्ति एक अनाम फ़ंक्शन है जो किसी दिए गए स्ट्रिंग को लाइनों में विभाजित करती है, फ़ंक्शन gको प्रत्येक पंक्ति पर लागू करती है और परिणामी लाइनों को नए सिरे से जोड़ती है। इसमें gयह जांचा जाता है कि xकिसी पंक्ति का पहला वर्ण कोई अंक है या नहीं। यदि यह मामला है, तो ['1'..x]पैदावार लंबाई के साथ एक स्ट्रिंग अंकों के मूल्य के बराबर xऔर ' '<$कई रिक्त स्थान के रूप में में स्ट्रिंग बदल देता है। अंत में शेष पंक्ति rको जोड़ दिया जाता है। यदि xएक अंक नहीं है, तो हम दूसरे समीकरण में हैं g s=sऔर लाइन को बिना बताए लौटा देते हैं ।


2

पायथन 2 , 76 72 68 बाइट्स

-4 बाइट्स थैंक्स टू @ovs !

@DeadPossum ने पायथन 2 पर स्विच करने का सुझाव दिया, जिससे 4 बाइट्स भी बच गए।

बस यह सोचा था कि पायथन 2 में एक प्रतिस्पर्धी पूर्ण कार्यक्रम होना अच्छा है जो स्पष्ट रूप से जांच नहीं करता है कि पहला चरित्र एक अंक है। यह एक फ़ाइल से इनपुट पढ़ता है f

for i in open('f'):
 try:r=int(i[0])*" "+i[1:]
 except:r=i
 print r,

इसे ऑनलाइन आज़माएं! ( @ovs के सौजन्य से )


@ovs इसके लिए धन्यवाद
श्री Xcoder

@ovs आपने क्या बदला (मैं इसे हाथ से करूँगा)? यह मुझे बताता है कि
पर्मलिंक को

हर पुनरावृत्ति में मुद्रण के बजाय मैंने आउटपुट को एक चर में सौंपा और इसे अंत में सभी को मुद्रित किया।
46:

@ मैं हर पुनरावृत्ति को प्रिंट करके 72 बाइट्स प्राप्त करने में कामयाब रहा, चर विचार के लिए धन्यवाद!
श्री Xcoder

अजगर का 2 संस्करण printआपको 68 बाइट्स देगा
डेड पॉसूम

2

जावा 8 , 105 99 97 93 बाइट्स

नेवय के सुझाव के लिए धन्यवाद, कुछ और बाइट्स सहेजे गए

s->{int i=s.charAt(0);if(i>47&i<58)s=s.substring(1);while(i-->48)s=" "+s;System.out.print(s);}

1
आपके गोल्फ संस्करण में दो बग हैं: अंक जांच का उपयोग करना है और इसके बजाय या; अंकों की जांच के बाद कोष्ठक गायब हैं। इसके अलावा आप s->{int i=s.charAt(0);if(i>47&i<58)for(s=s.substring(1);i-->48;s=" "+s);System.out.print(s);}(93 बाइट) का उपयोग करके कुछ बाइट्स बचा सकते हैं ।
नेवई

@ नवीन आप सही कह रहे हैं। धन्यवाद। मैं अपना जवाब अपडेट करूंगा।
कोडरक्रोक

2

आर , 138 128 बाइट्स

-9 बाइट्स CriminallyVulgar के लिए धन्यवाद

n=readLines();for(d in grep("^[0-9]",n))n[d]=gsub('^.?',paste0(rep(' ',eval(substr(n[d],1,1))),collapse=''),n[d]);cat(n,sep='
')

यह बहुत बुरा है, लेकिन यह अब थोड़ा बेहतर है ... आर, एक बार फिर, तार पर भयानक है।

इसे ऑनलाइन आज़माएं!


2
मैं CriminallyVulgar की ओर से टिप्पणी कर रहा हूं , जो 129-बाइट संस्करण का सुझाव देता है , लेकिन टिप्पणी करने के लिए पर्याप्त प्रतिष्ठा नहीं है।
श्री एक्सकोडर

@ Mr.Xcoder धन्यवाद और @CriminallyVulgar!
Giuseppe

123 बाइट्स जाहिरा तौर पर प्रतिनिधि दूसरे तर्क के लिए एक int की एक स्ट्रिंग ले सकते हैं ???
क्रिमिनल

@CriminallyVulgar हुह। प्रतिनिधि के लिए डॉक्स में यह सही है , अब जब मैं उन्हें फिर से जांचता हूं: "अन्य इनपुट एक पूर्णांक या डबल वेक्टर के लिए मजबूर किया जा रहा है"।
Giuseppe

2

जाप (v2.0a0), 11 10 बाइट्स

Japt पिटाई जेली और 05AB1E? यह सही नहीं लगता है!

r/^\d/m_°ç

झसे आज़माओ


व्याख्या

स्ट्रिंग का निहित इनपुट U

r/^\d/m

rरेखा के स्थान पर किसी अंक के सभी आवृत्तियों को Regex प्रतिस्थापित ( ) का उपयोग करें ( mयह बहु-ध्वज है - gध्वज को Japt में डिफ़ॉल्ट रूप से सक्षम किया गया है)।

_

प्रत्येक मैच को एक फ़ंक्शन के माध्यम से पास करें, जहां Zवर्तमान तत्व है।

°

उपसर्ग इंक्रीमेंट ऑपरेटर (++ )। यह Zनिम्नलिखित ऑपरेशन के लिए इसे बढ़ाए बिना एक पूर्णांक में परिवर्तित करता है।

ç

स्पेस कैरेक्टर दोहराएं Z बार ।

परिणामी स्ट्रिंग के बारे में स्पष्ट रूप से आउटपुट।


m@छोटा किया जा सकता है?
ऑलिवर

इस मामले में नहीं, @ ओलिवर; mयहाँ regex, नहीं मैप विधि के लिए बहु-पंक्ति ध्वज है।
झबरा

1
@Oliver: r/^\d/m_î(या r/^\d/m_ç) होगा 2 बाइट्स कम हो लेकिन Zएक स्ट्रिंग है तो, दुर्भाग्य से, यह नहीं काम करेगा। r/^\d/m_°ç, 1 बाइट की बचत के लिए, काम करता है , हालांकि :)
झबरा

°çएक अद्भुत चाल है :-) मैंने बस \dregex के लिए सुझाव दिया है , लेकिन वह झंडा छोड़ देता है ... शायद मुझे एकल-वर्ग के झंडे पर समर्थन के लिए समर्थन जोड़ना चाहिए, जैसे \dm(ओह, हाँ, और वह ^भी बाहर निकल जाता है ...)
ETHproductions

@ETHproductions, क्या RegExes में ओपनिंग को /वैकल्पिक बनाना संभव होगा?
झबरा

1

जेली , 19 बाइट्स

Ḣ⁶ẋ;µ¹µḣ1ẇØDµ?
ỴÇ€Y

इसे ऑनलाइन आज़माएं!

-5 जोनाथन एलन की टिप्पणियों और उनके पोस्ट को देखकर कुल धन्यवाद

व्याख्या

Ḣ⁶ẋ;µ¹µḣ1ẇØDµ?  Main link
             ?  Ternary if
                if:
       ḣ1       the first 1 element(s) (`Head` would modify the list which is not wanted)
         ẇ      is a sublist of (essentially "is an element of")
          ØD    "0123456789"
                then:
  ẋ             repeat
 ⁶              ' '
Ḣ               n times where n is the first character of the line (head)
   ;            concatenate the "beheaded" string (wording choice credited to Jonathan Allan)
                else:
     ¹          Identity (do nothing)
    µ µ     µ   Link separators
ỴÇ€Y            Executed Link
Ỵ               Split by newlines
  €             For each element,
 Ç              call the last link on it
   Y            Join by newlines

तर्क को स्वैप करने की आवश्यकता नहीं है:Ḣ⁶ẋ;
जोनाथन एलन

पॉप तो हेड ट्रिक अभ्यस्त काम है अगर केवल एक ही अंक वर्ण वाली एक पंक्ति है :( - ;0Ḣएक बाइट के लिए काम करेगा, शायद एक ही परमाणु है, मैंने भी कोशिश की ¹, वहां कोई खुशी नहीं
जोनाथन एलन

1
@JonathanAllan आह सही। धन्यवाद। ḣ1ẇØDउसी के लिए काम करता है bytecount \ o /
HyperNeutrino

ṚṪकाम करेगा :)
जोनाथन एलन

@JonathanAllan वह भी काम करता है :) लेकिन मैंने अपनी विधि के लिए पहले से ही एक स्पष्टीकरण कर दिया है, इसलिए मैं इसे बदलने के लिए बहुत आलसी हूं: पी लेकिन धन्यवाद वैसे भी :)
HyperNeutrino

1

पायथ ,  16  15 बाइट्स

jm.x+*;shdtdd.z

इसे ऑनलाइन आज़माएं!


व्याख्या

jm.x + *; shdtdd.z - पूर्ण कार्यक्रम जो एसटीडीआईएन से सब कुछ पढ़कर काम करता है।

             .z - सभी STDIN पढ़ें और इसे लाइनफीड द्वारा विभाजित करें।
 एम - एक चर डी के साथ नक्शा।
  .x - कोशिश:
     *; shd - पहले अक्षर को एक इंटीजर में बदलने के लिए और इसे एक स्पेस से गुणा करें।
    + td - और पहले वर्ण को छोड़कर सब कुछ जोड़ें
            डी - यदि उपरोक्त विफल रहता है, तो बस पूरे स्ट्रिंग को जोड़ें।
j - newlines द्वारा जुड़ें।

आइए एक उदाहरण लेते हैं जिसे संसाधित करना आसान होना चाहिए। कहो हमारा इनपुट है:

foo bar foo bar
1foo bar foo bar foo bar
2foo bar foo bar foo bar foo bar

उपरोक्त कार्यक्रम निम्न कार्य करेगा:

  • .z- यह सब पढ़ता है और इसे newlines द्वारा विभाजित करता है, इसलिए हम प्राप्त करते हैं ['foo bar foo bar', '1foo bar foo bar foo bar', '2foo bar foo bar foo bar foo bar']

  • हम प्रत्येक का पहला चरित्र प्राप्त करते हैं ['f', '1', '2']:।

  • यदि यह एक पूर्णांक के लिए परिवर्तनीय है, तो हम एक स्थान को दोहराते हैं जो पूर्णांक बार और बाकी स्ट्रिंग को जोड़ता है। और, हम सिर्फ पूरी स्ट्रिंग लगाते हैं। इसलिए, हमारे पास है ['foo bar foo bar', ' foo bar foo bar foo bar', ' foo bar foo bar foo bar foo bar']

  • अंत में, हम newlines से जुड़ते हैं, इसलिए हमारा परिणाम है:

    फू बार फू बार
     फू बार फू बार बार फू बार
      फू बार फू बार बार बार बार
    

1
हाहा, हमने जैली :)
मिस्टर एक्सकोडर

1

मूल रूप से , 82 बाइट्स

R3D1R1D1+0(?6{?7@7~:1+2<7?6{+35>7?6{:7-120?6{(B3@5B1-0)6}:0}}}?6!@7~-60=7&6+4-3=7)

नोट: यह TIO पर काम नहीं करेगा । इसका परीक्षण करने के लिए, प्रायोगिक ध्वज को सही (सशर्त सक्षम करने के लिए) के साथ Lua दुभाषिया का उपयोग करें । वर्तमान में TIO दुभाषिया पर सशर्त ब्लॉकों के साथ एक बग है। TIO दुभाषिया का उपयोग करते समय, आपको उसके ?6!साथ !6और उसके &6साथ प्रतिस्थापित करना चाहिए ?6&, जो बाइट को समान रखता है।

R3D1R1D1          Set the cube so that face 0 has value 1 and the rest of the values are easy to calculate

+0                Set the notepad to 1 so that it enters the conditional below
(                 Do
  ?6{               If the notepad is 1 (last character was \n or start of input)
    ?7@7              Output the current character if it's \n
    ~                 Get the next character
    :1+2<7?6{         If the input is >= '0'
      +35>7?6{          If the input is <= '9'
        :7-120            Set the notepad to the input - '0'
        ?6{               If the notepad isn't 0
          (                 Do
            B3@5              Output a space
            B1-0              Subtract 1 from notepad
          )6                While notepad > 0
        }                 End if
        :0              Set notepad to 1
      }                 End if
    }                 End if
  }                 End if

  ?6!@7             If the notepad is 0 (did not attempt to print spaces), print current character

  ~                 Get next character
  -60=7&6           If there is no more input, exit the program
  +4-3=7            Check if current character is \n, setting notepad to result
)                 Repeat forever

यह अन्य कृपापूर्वक उत्तर के रूप में छोटा नहीं है, लेकिन मुझे लगा कि मैं इसे वैसे भी कोशिश करूंगा: डी


What's going on with loops in the TIO interpreter?
MD XF

@MDXF ) jumps to the most recent ( rather than the matching one I believe. EDIT: I'm in the chat.
TehPers

@MDXF शायद यह सशर्त ब्लॉक था, वास्तव में। मैं भूल गया, मैं जवाब को अपडेट करूंगा। बावजूद, वे मेल नहीं खा रहे थे।
तेहपर्स

1
ठीक है, मैं बाद में इसे देखूंगा। मैं वर्तमान में मूल रूप से 2 को समाप्त कर रहा हूं
एमडी एक्सएफ

@MDXF यही ... वास्तव में रोमांचक सुनने के लिए बहुत ही रोमांचक है o_O
तेहर्स

1

> <> , 60 बाइट्स

!^i:0(?;::"/")$":"(*0$.
v"0"-
>:?!v1-" "o
;>:o>a=&10&?.i:0(?

इसे ऑनलाइन आज़माएं!

यह काम किस प्रकार करता है:

..i:0(?;... Gets input and ends if it is EOF
...
...
...

.^......::"/")$":"(*0$. If the inputted character is a digit go to the second line
...                     Else go to the fourth
...
...

....        If it was a digit
v"0"-       Subtract the character "0" from it to turn it into the corresponding integer
>:?!v1-" "o And print that many spaces before rejoining the fourth line
...

.^..               On the fourth line,
....               Copy and print the input (skip this if it was a digit)
....v              If the input is a newline, go back to the first line.
;>:o>a=&10&?.i:0(? Else get the input, ending on EOF


0

गामा, 21 वर्ण

\N<D1>=@repeat{$1;\ }

नमूना रन:

bash-4.4$ gema '\N<D1>=@repeat{$1;\ }' <<< 'foo bar foo bar
> 1foo bar foo bar foo bar
> 2foo bar foo bar foo bar foo bar
> 
> --------v
> 8|
> 8|
> 80
> 8,
> 7&'
foo bar foo bar
 foo bar foo bar foo bar
  foo bar foo bar foo bar foo bar

--------v
        |
        |
        0
        ,
       &

0

पीएचपी, 83 चार्ट

preg_replace_callback('/^\d/m',function($m){return str_repeat(' ',$m[0]);},$argv);

मुझे लगता है कि आपका कोड इस चुनौती के इनपुट नियमों के अनुरूप नहीं है, आपको इसे फ़ंक्शन में संलग्न करना चाहिए $s या एक आर्ग के साथ इसे इनपुट के साथ पॉप्युलेट करना चाहिए । और यह कुछ भी प्रिंट नहीं करता है
LP154

@ LP154 argvस्वीकार्य उपयोग कर रहा है?
पेटा

@Petah अगर मैं यह मानने में सही हूं argvकि कमांड लाइन आर्ग है, तो हाँ।
बिशुमान
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.