Saat menggunakan Markup, seperti pada jaringan SE, lekukan empat spasi sebelum baris teks menyatakannya sebagai bagian dari blok kode, seperti yang saya harap Anda tahu. Jika tidak, berikut ini sebuah contoh (dengan .
mewakili spasi):
.... Kode .... Kode
lainnya
hasil dalam
Code
More code
Masalahnya adalah, ketika Anda menyalin-menempelkan kode ke dalam sebuah jawaban, Anda harus membuat indentasi setiap baris secara manual. Ini sangat sulit ketika bekerja dengan kode yang tidak dikenali, karena kemungkinan sudah indentasi dan dapat menyebabkan kebingungan. Anda tinggal memilih kode Anda dan tekan Ctrl + K
, ternyata. Jam hidupku sia-sia tanpa alasan selain ...
Jadi, tujuan Anda adalah, diberi input, kembalikan dengan empat spasi sebelum setiap baris. Dengan semangat menghemat waktu copy-paste, Anda harus memproses seluruh input sebagai string tunggal (selama bahasa Anda dapat menguraikannya). Jika bahasa Anda tidak dapat memproses karakter (seperti baris baru) dalam string, Anda dapat menganggap itu dilambangkan / lolos melalui beberapa metode lain yang didukung oleh bahasa; Namun, output harus menampilkan setiap baris pada barisnya sendiri (jadi jangan lewat sesuatu seperti ....foo\n....bar
).
Tidak ada celah standar. Karena ini adalah kode-golf , jawaban tersingkat dalam byte menang. Semoga berhasil!
sumber
Ctrl + K
Jawaban:
V , 4 byte
Cobalah online!
(Perhatikan ruang trailing)
V dikodekan dalam bahasa Latin1, di mana ini dikodekan seperti:
Penjelasan
Inilah solusi yang juga 4 byte di UTF-8!
sumber
4ñ>G
Krayon , 7 byte
Cobalah online!
Penjelasan
Crayon adalah bahasa berbasis tumpukan yang dirancang untuk membuat ASCII-art. Ini masih dalam tahap awal pengembangan, tetapi cukup tahu untuk menyelesaikan tantangan ini dengan jumlah byte yang agak rendah:
Diperlukan menggambar ruang yang tidak putus karena Crayon secara otomatis memotong output menjadi persegi panjang, jadi tanpa NBSP, ia hanya akan mencetak input asli.
sumber
Retina , 8 byte
Cobalah online!
Ada empat spasi di baris kedua. Solusi alternatif menggunakan salah
m`^
atau%1`
atau1%`
pada baris pertama. Semua ini cocok dengan posisi di awal setiap baris dan ganti dengan empat spasi.sumber
Cheddar, 31 byte
Sangat sederhana, tapi saya memposting karena memamerkan operator fungsional baru.
(" ":+)
sama denganA -> " " + A
. (Yaitu+
op sebagai fungsi dengan" "
terikat ke LHS).Saya pikir bahkan tidak perlu penjelasan
sumber
:
akan menyebabkan masalah dengan?:
:
ada yang cocok?
, parser akan memilih untuk memperlakukannya sebagai operasi fungsional. Ini masih memerlukan operasi fungsional untuk dibungkus dalam parens tapi ya:+)
@
artinyaPython ,
4439 byteDicoret & nbsp; 44 & nbsp; tidak lagi 44 :)
-5 byte berkat ovs (hindari dequeue dengan prepend)
Cobalah online!
sumber
lambda s:' '*4+s.replace('\n','\n ')
untuk 39 bytelambda s:' '*4+s.replace('\n','\n ')[1:]
untuk 40 (yang tidak bekerja) atau yang lainnya?lambda s:' '*4+s.replace('\n','\n<4 spaces>')
TIOJavaScript, 26 byte
Terima kasih @Conor O'Brien untuk bermain golf 8 byte
Ganti dengan regex dengan / g menggantikan semua instance. m membuat regex memperlakukan setiap baris secara terpisah untuk memulai string ^.
Cobalah online!
sumber
asdf
berulang berulang.x=>x.replace(/^|\n/g,"$& ")
untuk mendapatkan baris pertama dan baris berikut semuanya dalam sekali jalanPython 2,
8745 byteInput diambil sebagai
'Line1\nLine2\nLine3...'
(Kutipan diperlukan)Terima kasih kepada @WheatWizard karena memberi saya ide yang membantu saya bermain golf 42 byte.
sumber
Ctrl + K
, alasan sebenarnya dari tantangan yang diajukan ini adalah ... kurang dari sekadar membingungkan.^
dengan ``.Jelly , 8 byte
Cobalah online!
Bagaimana?
Beberapa varian 8 byte lainnya adalah:
Ỵṭ€⁶Yµ4¡
(4 pengulangan split pada baris baru, tempel spasi tunggal);⁶ḤḤ;ЀỴY
(menggandakan dua kali seperti mengalikan dengan 4,Ѐ
memetakan argumen yang benar, sehingga kita bisa menyatukan dan bukannya menempel);dan pengaturan ulang lainnya.
sumber
Emacs, 5 gantungan kunci, 5 byte
Dalam setidaknya satu pengkodean yang biasa digunakan untuk entri keyboard, masing-masing kunci kunci ini adalah satu byte:
18 68 b4 18 09
. Entri Emacs cenderung sangat keychord-berat, karena setiap karakter ASCII yang dapat dicetak mewakili dirinya sendiri kecuali sebagai karakter selanjutnya dari perintah multi-karakter (artinya hanya keychord yang dapat digunakan untuk memberikan perintah yang sebenarnya).Saya tidak yakin bagaimana ini dibandingkan dengan Vim (berbeda dengan V). Tapi Vim cukup umum digunakan di PPCG, dan saya pikir sisi lain dari perang editor juga patut diperhatikan.
Ini mengasumsikan bahwa I / O dilakukan melalui buffer (setara dengan konvensi I / O normal untuk vim), atau diambil dari file dan output ke layar (yang datang ke hal yang sama). Jika Anda melakukan I / O sebagai gantinya wilayah, yang alami untuk beberapa bentuk program, Anda dapat menghapus dua karakter utama, untuk skor 3 byte; namun, saya tidak berpikir itu sesuai dengan aturan PPCG.
Penjelasan
Buildin terakhir yang digunakan di sini, tentu saja, sangat berguna untuk tantangan ini; sisanya hanya struktur.
sumber
PowerShell,
2928 Bytes-1 Berkat fergusq, menggunakan baris baru yang sebenarnya dan bukan `n
mengambil
"$args"
input sebagai string (dilemparkan menggunakan "s) dan-split
s pada baris baru, kemudian lilitkan (%{}
) melaluinya, tambahkan empat spasi (" "*4
) dan baris ($_
) kemudian output secara implisit.sumber
Pyth, 10 Bytes
Cobalah!
Jika input sebagai daftar baris diizinkan, saya bisa melakukannya dalam 7 byte:
Coba itu
solusi yang lebih lama:
12 Bytes:
12 Bytes:
13 Bytes:
sumber
jbm*4\ .z
d
, ups. Jawaban 10 byte Anda adalah tujuan sayaRöda , 21 byte
Cobalah online!
Ini adalah fungsi anonim. Input ditarik dari aliran.
Penjelasan:
sumber
identity()
hanya menarik semua nilai dari STDIN?identity
menarik nilai dari aliran input dan mendorongnya ke aliran output. Ini identik denganpush(x) for x
.Perl 5 , 11 + 1 = 12 byte
11 byte kode +
-p
bendera.Cobalah online!
Untuk sekali, penjelasan akan singkat: Regex menggantikan setiap awal baris (
^
dikombinasikan dengan/m
pengubah) dengan empat spasi - akhir.sumber
Perl 6 , 11 byte
Cobalah
Diperluas:
sumber
sed ,
16109 byteCobalah online!
Suntingan
Ukuran solusi yang berkurang dari 16 menjadi 10 byte berkat Kritixi Lithos .
-1 byte terima kasih kepada seshoumara .
sumber
-r
flag (1 byte) sehingga Anda dapat menghapus garis miring terbalik sebelum tanda kurung.s/.*/ &/
(menghapus tanda kurung dan menggantinya\1
dengan&
)*
.s:^: :
, selama 9 byte.Java 7, 58 byte
Penjelasan:
Coba di sini.
sumber
replaceAll
.replace
dan.replaceAll
akan mengganti semua kemunculan String yang dicari dengan penggantinya..replace
digunakan untuk String literal, dan.replaceAll
untuk regex. Karena\n
bukan regex,.replace
dapat digunakan tanpa masalah untuk mengganti semua baris baru dengan baris baru + empat spasi, yang juga dapat Anda periksa di tautan "Coba garis" yang saya berikan.Brain-Flak ,
109103 byte-6 Terima kasih kepada Wheat Wizard
Termasuk +1 untuk
-c
Cobalah online!
sumber
PHP, 43 Bytes
sumber
Ditumpuk , 13 byte
Cobalah online!
Penjelasan
sumber
Oktaf, 17 byte
Cobalah online!
sumber
MATL , 12 byte
Input adalah string dengan baris baru. Untuk memasukkan ini, Anda perlu menggabungkan karakter 10 antara karakter normal untuk mewakili baris baru (tanda kurung siku digabungkan):
Cobalah di MATL online!
Penjelasan
sumber
PHP, 16
jalankan bersama
php -R <code>
.-R
menjalankan kode yang diberikan untuk setiap baris input dan$argn
diumpankan ke baris input saat ini. Jadi ini hanya mencetak setiap baris dengan tambahan empat ruang di depannya.sumber
V , 3 byte (Tidak bersaing)
Ini adalah jawaban yang menggunakan fitur yang saya rencanakan untuk ditambahkan sebentar, tetapi baru saja menambahkannya hari ini. Itu membuat jawaban ini tidak bersaing dan tidak valid untuk menang. Tapi itu tetap keren untuk memamerkan fitur yang bermanfaat / kompetitif!
Cobalah online!
Penjelasan:
sumber
Vim, 6 penekanan tombol
Mengasumsikan kursor berada di awal file, seolah-olah Anda membuka file dari dari baris perintah via
vim filename
.Dengan vim dikonfigurasi untuk menggunakan 4 ruang untuk lekukan itu akan menjadi 2 keystrokes:
>G
.sumber
ZZ
di akhir. Biasanya pengiriman vim baik-baik saja hanya keluaran ke buffer daripada ke file.ZZ
kemudian.Japt ,
76 byteDisimpan 1 byte berkat @ETHproductions
Cobalah online!
Penjelasan:
sumber
S²²
akan bekerja dengan baik di tempatSp4
, bukan berarti tidak ada yang menyelamatkan Anda dalam hal ini. Omong-omong, saya pikir Anda bisa melakukan hanyamiS²²R
untuk menghapusR
bendera (pada dasarnyamiS²²
, tetapi berpisah di baris baru sebelumnya dan bergabung dengan baris baru sesudahnya)UberGenes , 62 byte
Saya harus memasukkan tantangan ini dengan UberGenes, karena program yang sangat mirip (yang hanya menyisipkan satu spasi) adalah salah satu program pertama yang pernah saya tulis dalam bahasa tersebut, dan sepertinya mudah untuk dimodifikasi untuk tujuan ini.
Bagaimana itu bekerja:
sumber
CJam , 11 byte
Terima kasih kepada @ Challenger5 untuk koreksi
Cobalah online!
Penjelasan
sumber
abc\n\ndef
. Itu kembali....abc\n....def
karena%
membuang elemen kosong. Anda ingin menggunakan/
untuk membagi sebagai gantinya, karena itu menyimpan elemen kosong.J-uby ,
1716 BytesPenjelasan
Ini secara langsung diterjemahkan menjadi (dalam Ruby):
sumber
Sebenarnya , 16 byte
Cobalah online!
Penjelasan:
sumber
C,
6665 byteCobalah online!
sumber
s;char*l;f(){while(getline(&l,&s,stdin)+1)printf("____%s",l);}
62 byte<stdio.h>
(karenastdin
).