Tulis sepotong kode yang mengambil string sebagai input, dan mengeluarkan sepotong kode dalam bahasa yang sama yang, ketika dijalankan, akan menampilkan string input awal.
Itu harus dapat menangani kombinasi karakter AZ, az, dan 0-9.
Contoh dengan Python:
import sys
print "print('" + sys.argv[1] + "')"
Diberikan masukan dari testing123
, itu akan kembali print('testing123')
.
Karena ini adalah kode-golf , jawaban terpendek dalam byte akan menang.
code-golf
code-generation
Kuarsa
sumber
sumber
Jawaban:
pl , 0 byte
Kode:
Cobalah online!
Penjelasan:
Program kosong di pl hanyalah sebuah program cat, menghasilkan keluaran yang sama persis dengan input.
Dalam pl, semua karakter ASCII pada dasarnya adalah variabel, tetapi ketika variabel tidak ada (belum), pl mengasumsikan bahwa mereka adalah bagian dari sebuah string.
sumber
cat
juru bahasa. ;)brainfuck ,
565533 byte1 byte disimpan berkat Gravitron, dan 22 byte disimpan berkat Jo King!
Cobalah online!
Keluaran membutuhkan juru bahasa yang membungkus kekurangan memori dan memiliki EOI = 0. TIO memiliki penerjemah seperti itu.
Penjelasan
--[>+<++++++]
Menginisialisasi rekaman itu dengan satu+
.Input loop:
Solusi lain
Setiap baris adalah solusinya sendiri.
sumber
+++++++++++++++
dengan+++[>+++++<-]>
(Dari konstanta brainfuck )0
's, dengan pointer ke nilai.+
menambah nilai,-
mengurangi nilai,>
menggerakkan penunjuk ke kanan,<
menggerakkan penunjuk ke kiri,,
membaca input ke penunjuk sebagai karakter ASCII,.
mengeluarkan nilai penunjuk sebagai karakter ASCII,[
memulai perulangan, dan]
melompat ke yang sesuai[
jika nilai pointer tidak0
. Saya buruk dalam menjelaskan, tapi itulah bagaimana Brainfuck mudah. Dan Conor golf yang bagus!Mornington Crescent , 27640 bytes
Cobalah online!
Penjelasan
Pertama, penyegaran cepat di Mornington Crescent:
Karena string pencetakan sulit (lihat program Mornington Crescent "Hello, World!" Karya Martin Ender ), kita akan membutuhkan template sederhana yang dapat digunakan untuk menghasilkan string umum. Karena panjang dari program yang dihasilkan tidak masalah, saya telah menetapkan ini:
Kita perlu membuat setiap karakter secara terpisah dan menggabungkannya, karena pendekatan substring yang digunakan oleh Martin jauh lebih sulit untuk diterapkan dalam kasus umum. Paddington adalah stasiun yang melakukan penggabungan string. Ketika Anda tiba di Paddington, hal berikut terjadi:
Perilaku ini digunakan untuk menginisialisasi Paddington ke string kosong yang dianggap sebagai input.
Pergi ke Seven Sisters, yang menetapkan akumulator ke 7, dan menyimpannya di Bank. Bank adalah satu-satunya cara untuk menyalin nilai - Hammersmith adalah salinan nilai Bank yang dapat dibaca.
Bagilah 7 dengan 7 untuk mendapatkan 1, pembagi semua nilai ASCII yang perlu kita dukung.
Untuk setiap karakter, mulailah dengan menyalin 1 ke Upminster.
Tambahkan lebih banyak yang diperlukan.
Selesaikan dengan pergi ke Upminster hanya sekali, untuk menyimpan nilai baru di akumulator alih-alih menyimpannya lagi. Bawa ke Charing Cross untuk mengubah nilai ASCII menjadi karakter dan menambahkannya ke string. Dua baris terakhir ada karena saya salah membaca spesifikasinya, jadi saya akan berhenti di sini dan menghentikan program saya terlebih dahulu.
sumber
Take District Line to Upminster
menghitung urutan fibonacciJelly , 1 byte
Woo builtin!
Builtin yang
Ṿ
unevals input.Cobalah online!
Yang lebih menarik:
Bergabung dengan string "" "" oleh input.
Cobalah online!
sumber
”“;
untuk -1.Arang, 1 byte
Secara default, serangkaian karakter ASCII
..
~
hanya mencetak sendiri, jadi tetap mencetak input.sumber
C (gcc) ,
89875856 byteDisimpan dua byte berkat Jakob!
Cobalah online!
sumber
puts
program tercetak untuk menghemat 2 byte, bukan? Atau itu masalah yang ditambahkan baris baru?Japt , 2 byte
Cobalah online!
i
adalah fungsi yang menyisipkan string yang ditentukan pada indeks yang ditentukan ke dalam input.Q
adalah variabel yang default ke tanda kutip"
, dan karena tidak ada indeks yang diberikan, ini default ke0
. Hasil akhirnya adalah tanda kutip yang disisipkan di awal string, yang langsung selesai saat berjalan.Ini berfungsi pada string yang berisi apa pun kecuali
"
,,{
atau\
, meskipun tentu saja string dijamin terdiri dari karakter alfanumerik jadi ini tidak masalah.sumber
Python 2 , 22 byte
Cobalah online!
sumber
print'print'+`input()`
.input
di Python 2 setara denganeval(raw_input())
. Jadi itu harus menjadi ekspresi pythonic agar bisa berfungsi.MATLAB / Oktaf , 15 byte
Cobalah online!
Saya benar-benar mengabaikan fakta bahwa program hanya perlu menangani karakter alfanumerik, atau, yang penting, tidak perlu menangani karakter ruang. Ini berarti kita dapat menggunakan sintaks 'perintah', yang menggunakan byte lebih sedikit secara signifikan.
MATLAB, 27 byte
Untuk kelengkapan, inilah versi yang dapat menangani input sewenang-wenang:
Menentukan fungsi anonim yang mengambil string
t
, dan mengubahnya menjadi program. Anehnya, ini tidak berfungsi di Octave, yang tampaknya memiliki gagasan berbeda tentang apa yangmat2str
harus dilakukan.sumber
@(t)['disp ',mat2str(t)]
harus bekerja ...?mat2str
menambahkan tanda kutip, yang tidak perlu dalam sintaksis perintah. Saya memiliki sintaks fungsi dikombinasikan denganmat2str
untuk menangani spasi di input, tetapi pada membaca ulang tantangan, itu sebenarnya tidak perlu, memotong bytecount hampir menjadi setengahnya. Terima kasih!Befunge-98 (FBBI) ,
211612 byte-5 byte terima kasih kepada NieDzejkob
-4 byte terima kasih kepada Jo King
Cobalah online!
Output
't,'e,'s,'t,@
untuk inputtest
Bagaimana?
Awalnya pointer bergerak ke Timur:
Jika tidak ada lagi input yang tersisa,
~
balikkan arah pointer:sumber
Emojicode , 88 byte
Cobalah online!
Memasukkan:
Keluaran:
Output Skrip:
sumber
QBIC , 7 byte
Penjelasan
Contoh dijalankan
Outputnya adalah string literal yang berisi input, didahului dengan
PRINT
perintah.sumber
Batch 11 byte
Saya yakin ada yang jauh untuk membuatnya lebih kecil, tetapi ini cukup kecil.
Rinciannya:
Dalam Bahasa Inggris:
Pengguna diminta input dengan frasa terkemuka
echo
. Kemudian pengguna dapat mengetikkan apa saja, dan program berakhir (misalnya;echo hello world!
). Ini meninggalkan kita dengan program yang ketika dijalankan, akan menampilkanhello world!
.Ya, ruang putih seharusnya ada di sana
sumber
echo
porsinya akan digaungkan ke konsol dan bukan output program?echo
ke standar keluar. Bahkan, (saya berasumsi) jika input berasal dari file atau pipa, yang Anda lihat hanyalah prompt. Apakah output semacam itu diizinkan?V, 2 byte
Di Vim,
i
perubahan ke mode penyisipan dan memungkinkan penyisipan teks. Dalam hal ini, itu hanya menyisipkani
di depan teks input (untuk membuat program kedua). V kompatibel dengan Vim, tetapi menambahkan implisit<esc>
ke akhir program, jadi saya tidak perlu khawatir tentang hal itu di sini.sumber
PowerShell, 9 Bytes
Kutipan tunggal atau ganda dalam PowerShell dapat digunakan untuk mengandung string, tetapi hanya tanda kutip ganda yang memungkinkan ekspansi variabel.
dengan input
foo
ini akan menampilkan'foo'
yang merupakan program PowerShell yang valid yang menampilkanfoo
sumber
Secara kubik , 87 byte
Cobalah online!
Port jawaban saya di sini . Sudah ada tantangan untuk mengambil input dan output kode Cubically yang menghasilkan input itu, dan saya punya jawaban di Cubically jadi ... untung?
sumber
%6
s dan@6
s; mereka sekarang dapat dipanggil secara implisit. (Anda juga dapat melakukannya pada jawaban Anda di utas cubifier.)D,
9289 byteCobalah online!
sumber
Python 2 , 17 byte
Cobalah online!
sumber
1
'1'
ke fungsi dengan benar outputprint'1'
SOGL V0.12 , 2 byte
Coba Di Sini! (mengharapkan input pada stack sehingga
,
ditambahkan untuk kemudahan penggunaan)$
mendorong”
,+
bergabung setelah input pada stack.sumber
"
Perl 6 , 19 byte
Cobalah
Ini harus bekerja untuk input Unicode apa pun di NFC
sumber
8 ,
3437 byteKode
Contoh
sumber
PHP , 12 byte
Cobalah online!
Ini harus dijalankan dari baris perintah dengan input sebagai argumen parameter. Dan ya, itu hanya menghasilkan string input - tapi itu PHP yang valid: apa pun di luar
<?php
?>
pembatas adalah output yang tidak diproses.Berikut ini skrip yang dihasilkan oleh input 'testing123' yang sedang beraksi sebagai demonstrasi: Coba online!
sumber
<?php
, ingatkan Anda;)MATL , 2 byte
Cobalah online!
Cukup membungkus string dengan menggunakan tanda kutip
&D
, yang setara dengan MATL dengan MATLABmat2str
, sebuah fungsi yang khusus dibuat untuk membuat sesuatu yang, ketikaeval
akan, memberikan matriks asli (atau dalam hal ini, string).'Program' yang dihasilkan hanyalah string input yang dibungkus dengan tanda kutip, yang dengan demikian didorong pada stack, dan ditampilkan secara implisit.
sumber
eacal , 38 byte
Cobalah online!
Cukup tambahkan string
put string
ke string memori, lalu tambahkan argumen, yang dicetak.sumber
Batch, 14 byte
Bekerja untuk karakter khusus juga jika mereka dikutip menggunakan
"
s daripada^
.sumber
@echo.@echo.%*
akan lebih benar? Masukan bisa berpotensi kosong..
karena itu tidak pernah kosong, dan saya menggunakan(
untuk kasus kedua karena itu lebih dapat diandalkan daripada.
, tapi terima kasih atas sarannya!@echo.
s lolLy , 14 byte
Cobalah online!
Penjelasan
sumber
05AB1E , 3 byte
Cobalah online!
Surround input dengan tanda kutip.
-1 @Adnan.
sumber
Brain-Flak ,
9268 byte-22 byte berkat Wheat Wizard
Termasuk +2 untuk
-cr
Cobalah online!
sumber
Pyth ,
21 byteCobalah online!
Hanya mengeluarkan input. Membutuhkan string dalam tanda kutip.
-1 byte terima kasih kepada KarlKastor
sumber
+\"
? (\x
char literal + implisitQ
)+N
Wortel , 1 byte
Bagaimana itu bekerja
Alternatif, juga pada 1 byte adalah:
Ini berfungsi sama seperti di atas tetapi hanya mengambil input baris pertama. Melihat sebagai input hanya akan
[A-Za-z0-9]
baik-baik saja.sumber
01
?