একটি সাদা স্থান গল্ফার প্রয়োগ করুন


15

যেমন কেউ কেউ দ্বি-মাত্রিক esolangs, বিভক্তিকরণ যেমন, এবং কিছু অ 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

এই কিউবটির সর্বাধিক গুরুত্বপূর্ণ বিষয় হ'ল মুখের 5পরিমাণ 32 হয় যা স্পেসগুলি মুদ্রণের জন্য প্রয়োজনীয় মান। কাকতালীয়ভাবে, এটি অন্যান্য সমস্ত গণনার ক্ষেত্রে মোটামুটি সংক্ষিপ্তও হতে পারে। এটি সম্পন্ন হওয়ার পরে:

~( . . . )                                    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 বাইট

-২ বাইটস @ জগারবকে ধন্যবাদ

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

জাভাস্ক্রিপ্ট (ES8), 38 37 বাইট

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

আমি মনে করি না এটি আরও অনেক উন্নত করা যেতে পারে।
সংরক্ষণ 1 বাইট ধন্যবাদ রোমশ - ব্যবহারের ES8 বৈশিষ্ট্যগুলিও উপস্থিত রয়েছে।


" আমি মনে করি না এটি আরও অনেক উন্নতি করা যায়। " - আপনি ES8 এর padEndমতো ব্যবহার করে একটি বাইট সংরক্ষণ করতে পারেন:s=>s.replace(/^\d/gm,m=>"".padEnd(m))
শেগি

@Shaggy। আমি জানতাম না ইএস 8 এর ইতিমধ্যে অনুমোদিত। ধন্যবাদ।

1
যদি সেখানে কোনও একক দোভাষী (যেমন ব্রাউজার) থাকে যা কোনও বৈশিষ্ট্য সমর্থন করে তবে সেই বৈশিষ্ট্যটি এখানে ন্যায্য খেলা :)
শেগি

4

পাইথন 2 , 98 74 67 65 বাইট

-২৪ বাইট জোনাথন অ্যালানকে ধন্যবাদ জানায়। -7 বাইটস মিঃ এক্সকোডারকে ধন্যবাদ।

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

এটি অনলাইন চেষ্টা করুন!

নামের ফাইলটিতে ইনপুট নেয় f


এছাড়াও ত্রুটিগুলি যখন কোনও লাইনের প্রথম চরিত্রের কোনও অঙ্ক নেই (যখন আইটেমগুলি বেছে নেওয়ার উপায় হিসাবে সমস্ত উপাদানগুলি মূল্যায়ন করা হয় তখন কোনও তালিকা ব্যবহার করার সময়)
জোনাথন অ্যালান


87 বাইট - টিআইও লিঙ্কের শিরোনামটি উপহাস করছে open; কোড 'এফ' নামের একটি ফাইল প্রত্যাশা করছে। আমি মনে করি এটা ঠিক আছে?
জনাথন অ্যালান

আহ, সত্য ' '*0মিথ্যা। [:1]যদিও ব্যবহার এখনও একটি সংরক্ষণ করা হয়। readআমার বিশ্বাস করার দরকার নেই (এবং এটি হবে readlines) যেহেতু এর ডিফল্ট আচরণটি openলাইনের মধ্য দিয়ে পুনরাবৃত্তি হয়। 'r'ডিফল্ট হওয়ার কারণে মোডের প্রয়োজন নেই । আমি যদি ঠিক আছি তবে 73৩ !
জোনাথন অ্যালান


4

রুবি , 24 21 + 1 = 25 22 বাইট

-pপতাকা ব্যবহার করে । জিবি থেকে -3 বাইট।

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

এটি অনলাইন চেষ্টা করুন!


% "% # $ & s"% "" 1 1 বাইট সংরক্ষণ করে
GB

এবং যদি আপনি gsub এর পরিবর্তে সাব ব্যবহার করেন তবে অন্য একটি বাইট
জিবি

@ জিবি এবং অন্য একটি বাইট %pপরিবর্তে শেষে রেখে %""। আপনার সাহায্যের জন্য ধন্যবাদ!
মান কালি

3

1
খালি লাইনগুলির সাথে একটি ইনপুট কীভাবে হয়?
জোনাথন অ্যালান

কোনও ধারণা নেই ... আমি এটি সন্ধান করব
অলিভার নি

|vy¬dićú},10 বাইট জন্য কাজ করে।
রিলি

ঠিক আছে, এটি কোনও খালি লাইন ইনপুট করতে পারে না, কোডটি খালি লাইনের জন্য কাজ করে না : এটি যদি কোনও একক শূন্য ব্যবহার করে তবে এটি কাজ করে না, তাই এটি অবশ্যই মাথাটি সম্পর্কিত কিছু নয় যা রাইলির প্রস্তাবিত 10 টির জন্যই রয়েছে বাইটার বাই দ্য ওয়ে)।
জনাথন অ্যালান

@ জোনাথান অ্যালান এর |কাজের সাথে কিছু করার আছে । ধারণা করা হয় push the rest of input as an array with strings, তবে এটি খালি লাইনে থামে ( টিআইও )। আপনি আরও জানতে চাইলে আমি এটিকে 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 বাইট


4
আপনি The পাইরেট বে থেকে চুরি করেছেন , টেবিলগুলি কীভাবে পরিণত হয়েছে
joH1

@ মুনস্ট্রোক এইচএইচএল এমনকি আমি এটি খেয়ালও করিনি: পি
হাইপার নিউট্রিনো

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এটাই কি আসল পদ? এক্সডি
হাইপারনিউট্রিনো

1
ঠিক আছে, এখন :)
জোনাথন অ্যালান

আহাহাহা আমি আপনাকে আউটগল্ফ করার চেষ্টা করেছি এবং আপনার এক্সডের সাথে মূলত অভিন্ন একটি সমাধান দিয়ে শেষ করেছি
HyperNeutrino


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 বাইট @ ওওএসকে ধন্যবাদ !

@ ডেডপসাম পাইথন 2-এ স্যুইচ করার পরামর্শ দিয়েছিলেন, যা 4 বাইটও সাশ্রয় করেছে।

কেবল ভেবেছি পাইথন 2 এ একটি প্রতিযোগিতামূলক পূর্ণ প্রোগ্রাম রাখা ভাল যা প্রথম অক্ষরটি একটি সংখ্যা কিনা তা স্পষ্টভাবে যাচাই করে না । এটি কোনও ফাইল থেকে ইনপুট পড়ে f

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

এটি অনলাইন চেষ্টা করুন! ( @ovs এর সৌজন্যে )


@ ওভস এর জন্য ধন্যবাদ
জনাব এক্সকোডার

@ovs আপনি কী পরিবর্তন করেছেন (আমি এটি হাতে করে করব)? এটি আমাকে বলেছে যে পার্মালিঙ্কটি ডিকোড করা যাবে না
মিঃ এক্সকডার

প্রতিটি পুনরাবৃত্তিতে মুদ্রণের পরিবর্তে আমি আউটপুটটিকে একটি ভেরিয়েবলের জন্য বরাদ্দ করি এবং শেষে এটি মুদ্রণ করি।
ovs

@ovs আমি প্রতিটি পুনরাবৃত্তি মুদ্রণ করে 72 বাইট পেতে পেরেছি, পরিবর্তনশীল ধারণার জন্য ধন্যবাদ!
মিস্টার এক্সকোডার

পাইথন 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 বাইটস ক্রিমিনালিভালগারকে ধন্যবাদ

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
I am commenting on behalf of CriminallyVulgar, who suggests a 129-byte version, but does not have enough reputation to comment.
Mr. Xcoder

@Mr.Xcoder Thank you and @CriminallyVulgar!
Giuseppe

123 Bytes Apparently rep can take a string of an int for the second argument???
CriminallyVulgar

নিবন্ধন করুন এটি ডেক্সে রেਪ করার জন্য ঠিক আছে , এখন আবার এগুলি পরীক্ষা করে দেখছি: "অন্যান্য ইনপুটগুলি একটি পূর্ণসংখ্যা বা ডাবল ভেক্টরকে জোর করা হচ্ছে"।
জিউসেপে

2

জাপট (v2.0a0), 11 10 bytes

জাপা জেলি এবং 05 এএবি 1 ইকে মারছে ? ঠিক মনে হচ্ছে না!

r/^\d/m_°ç

এটা পরীক্ষা করো


ব্যাখ্যা

স্ট্রিং এর অন্তর্নিহিত ইনপুট U

r/^\d/m

rএকটি রেখার শুরুতে ডিজিটের সমস্ত উপস্থিতি ( ) প্রতিস্থাপন ( ) মাল্টিলাইন mপতাকাটি ব্যবহার করুন - gপতাকাটি জাপটে ডিফল্টরূপে সক্ষম করা আছে)।

_

প্রতিটি মিল একটি ফাংশন দিয়ে পাস করুন, Zবর্তমান উপাদানটি কোথায় ।

°

The postfix increment operator (++). This converts Z to an integer without increasing it for the following operation.

ç

Repeat a space character Z times.

Implicitly output the resulting string.


Can m@ be shortened?
Oliver

Not in this case, @Oliver; the m here is the multi-line flag for the regex, not the map method.
Shaggy

1
@Oliver: r/^\d/m_î (or r/^\d/m_ç) would be 2 bytes shorter but Z is a string so, unfortunately, it wouldn't work. r/^\d/m_°ç, for a 1 byte saving, does work, though :)
Shaggy

°ç is an amazing trick :-) I'd have suggested just \d for the regex, but that leaves out the flag... perhaps I should add support for flags on single-class regexes, like \dm (oh yeah, and that leaves out the ^ too...)
ETHproductions

@ETHproductions, would it be feasible/possible to make the opening / optional in RegExes?
Shaggy

1

Jelly, 19 bytes

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

Try it online!

-5 bytes total thanks to Jonathan Allan's comments and by looking at his post

Explanation

Ḣ⁶ẋ;µ¹µḣ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

no need to swap arguments: Ḣ⁶ẋ;
Jonathan Allan

The pop then head trick wont work if there is a line containing only a single digit character :( -- ;0Ḣ would work for one byte, maybe there is a single atom, I also tried ¹, no joy there
Jonathan Allan

1
@JonathanAllan Ah right. Thanks. ḣ1ẇØD works for the same bytecount \o/
HyperNeutrino

ṚṪ will work :)
Jonathan Allan

@JonathanAllan That works too :) But I made an explanation already for my method so I'm too lazy to change it :P But thanks anyway :)
HyperNeutrino

1

Pyth,  16  15 bytes

jm.x+*;shdtdd.z

Try it online!


Explanation

jm.x+*;shdtdd.z   - Full program that works by reading everything from STDIN.

             .z  - Read all STDIN and split it by linefeeds.
 m               - Map with a variable d.
  .x             - Try:
     *;shd           - To convert the first character to an Integer and multiply it by a space.
    +     td         - And add everything except for the first character
            d        - If the above fails, just add the whole String.
j                 - Join by newlines.

Let's take an example that should be easier to process. Say our input is:

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

The program above will do the following:

  • .z - Reads it all and splits it by newlines, so we get ['foo bar foo bar', '1foo bar foo bar foo bar', '2foo bar foo bar foo bar foo bar'].

  • We get the first character of each: ['f', '1', '2'].

  • If it is convertible to an integer, we repeat a space that integer times and add the rest of the String. Else, we just place the whole String. Hence, we have ['foo bar foo bar', ' foo bar foo bar foo bar', ' foo bar foo bar foo bar foo bar'].

  • Finally, we join by newlines, so our result is:

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

1
Haha, we beat Jelly :)
Mr. Xcoder

1

Cubically, 82 bytes

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)

Note: This will not work on TIO. To test this, use the Lua interpreter with the experimental flag set to true (to enable conditionals). There's currently a bug with conditional blocks on the TIO interpreter. When using the TIO interpreter, you should replace ?6! with !6 and &6 with ?6&, which keeps the byte count the same.

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

This isn't as short as the other Cubically answer, but I thought I'd give this a try anyway :D


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 Maybe it was the conditional blocks, actually. I forgot, I'll update the answer. Regardless, they weren't matching up.
TehPers

1
All right, I'll look at that later. I'm currently finishing Cubically 2.
MD XF

@MDXF That's... really exciting to hear actually o_O
TehPers

1

><>, 60 bytes

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

Try it online!

How It Works:

..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

V, 9 bytes

ç^ä/x@"é 

Try it online!

Explanation

ç  /      ' On lines matching
 ^ä       ' (Start)(digit)
    x     ' Delete the first character
     @"   ' (Copy Register) number of times
       é  ' Insert a space

0

Gema, 21 characters

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

Sample run:

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

PHP, 83 chars

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

I think your code is not compliant with the input rules of this challenge, you should enclose this in a function with a $s arg or populate it with the input. And it doesn't print anything
LP154

@LP154 is using argv acceptable?
Petah

@Petah If I'm correct in assuming argv is the command line args, then yes.
totallyhuman
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.