CJam - 142 / GolfScript - 144
{" had| a |farm|68, |68 8|here|Old MacDonald765|, E-I-E-I-O|10,
And on that 5 he7690,
With3 2 and3 t2,
Here4t24everyw23,
10!"'|/~A,{`/\*}/}:F;
Penggunaan: "cow""moo"F
Untuk GolfScript ganti '|
dengan "|"
dan A
dengan10
Penjelasan:
Bagian kuncinya adalah A,{`/\*}/
:
A,{...}/
mengeksekusi blok untuk setiap angka dari 0 hingga 9 (A = 10)
`
mengubah angka
/\*
menjadi string yang diganti string: jika kita memiliki di stack "bar" "foo 1 baz" "1"
kemudian /
membagi string yang dihasilkan ["foo " " baz"]
, \
menukar array ini dengan item sebelumnya ("bar") dan *
bergabung dengan array yang menghasilkan"foo bar baz"
Jadi kode tersebut menggantikan setiap angka dalam string utama dengan string yang sebelumnya ada di stack. Kami memiliki hewan dan suaranya, lalu "memiliki", "a", dll dan akhirnya ", EIEIO" dan string utama, "10, ...!". Untuk menghindari menggunakan terlalu banyak tanda kutip, saya meletakkan semua string (kecuali parameter) dalam satu string, kemudian membaginya dan membuang array yang dihasilkan ( '|/~
)
String utama melewati transformasi berikut:
10,
And on that 5 he7690,
With3 2 and3 t2,
Here4t24everyw23,
10!
ganti "0"
dengan ", E-I-E-I-O"
:
1, E-I-E-I-O,
And on that 5 he769, E-I-E-I-O,
With3 2 and3 t2,
Here4t24everyw23,
1, E-I-E-I-O!
ganti "1"
dengan "Old MacDonald765"
:
Old MacDonald765, E-I-E-I-O,
And on that 5 he769, E-I-E-I-O,
With3 2 and3 t2,
Here4t24everyw23,
Old MacDonald765, E-I-E-I-O!
ganti "2"
dengan "here"
, lalu "3"
dengan "68 8"
dll.
8 sesuai dengan suara, dan 9 untuk binatang.