cat
pergi "Meow"
Kita semua akrab dengan konsep cat
program. Pengguna mengetik sesuatu di dalamnya, itu akan diulang kembali ke pengguna. Mudah. Tetapi semua cat
program yang saya lihat sejauh ini telah melewatkan satu fakta: a cat
goes "Meow". Jadi tugas Anda adalah menulis sebuah program yang menyalin semua STDIN
ke STDOUT
KECUALI inputnya cat
, dalam hal mana program Anda harus di-output cat goes "Meow"
.
Mencetak gol
Ini adalah kode-golf , jadi skor Anda adalah jumlah byte Anda, dengan beberapa pengubah:
- Jika program Anda bekerja untuk hewan tambahan apa pun selain
cat
(misalnyacow: cow goes "Moo"
), untuk setiap hewan tambahan: -10 - Jika program Anda tidak menggunakan kata "cat": -15
- Jika program Anda merespons
fox
dengan "Apa kata rubah": -25
Hewan dan suara yang bersatu:
cow goes moo
duck goes quack
sheep goes baa
bees go buzz
frogs go croak
Hal lain di daftar ini diperbolehkan.
Aturan
- Celah standar berlaku
- Anda tidak boleh menulis apa pun kepada
STDERR
- Anda dapat menggunakan tanda kutip tunggal / tanpa tanda kutip daripada tanda kutip ganda.
Papan peringkat
Berikut ini adalah Stack Snippet untuk menghasilkan leaderboard biasa dan gambaran umum pemenang berdasarkan bahasa.
Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:
## Language Name, N bytes
di mana N
ukuran kiriman Anda. Jika Anda meningkatkan skor Anda, Anda dapat menyimpan skor lama di headline, dengan mencoretnya. Contohnya:
## Ruby, <s>104</s> <s>101</s> 96 bytes
Jika Anda ingin memasukkan beberapa angka dalam tajuk Anda (mis. Karena skor Anda adalah jumlah dari dua file atau Anda ingin membuat daftar hukuman penterjemah secara terpisah), pastikan bahwa skor sebenarnya adalah angka terakhir di tajuk:
## Perl, 43 + 2 (-p flag) = 45 bytes
Anda juga dapat membuat tautan nama bahasa yang kemudian akan muncul di cuplikan papan peringkat:
## [><>](http://esolangs.org/wiki/Fish), 121 bytes
Jawaban:
Pyth, 231-255 = -24 byte
-24 * 10 hewan ekstra, -15 tanpa tali "kucing"
Tautan ke kode
Kodesemu
Hewan itu tahu:
sumber
squalk
sendiriTeaScript , 29 - 15 = 14 byte
Tidak menggunakan string
cat
."Apa yang dikatakan rubah" (panjang = 21) lebih panjang dari nilai bonusnya.
sumber
CJam, 12 byte
Program ini panjangnya 27 byte dan tidak menggunakan kata
cat
( -15 byte ).Cobalah sebaris dengan penerjemah CJam .
Bagaimana itu bekerja
sumber
:)
APL (Dyalog) , 28 - 15 = 13 byte
Input diikuti oleh
goes "Meow"
jika input sama dengantac
terbalik.Cobalah online!
{
...}
fungsi anonim⌽'tac'
membalikkan string (untuk mendapatkan bonus -15 dengan menghindari karaktercat
)⍵≡
Boolean untuk apakah argumennya identik dengan itu' goes "Meow"'/⍨
menggunakannya untuk memfilter string (yaitu mengembalikan string kosong jika salah)⍵,
tambahkan argumensumber
Stack , 51 byte
sumber
JavaScript,
45 - 15 =30/264 - 235 = 29Kelemahan: Anda harus menulis nama hewan dengan huruf pertama dalam huruf besar dan sisanya dalam huruf kecil. Lihat di bawah untuk versi lain yang memperbaikinya. Versi ini lolos dari
a
kucing in dengan\x61
dan termasuk kode untuk 22 hewan tambahan dari daftar ini (semua hewan yang diizinkan yang memiliki kata-kata yang cukup pendek untuk mendapatkan nilai):(terima kasih kepada teman saya untuk membantu saya dengan tugas yang membosankan membuat daftar ini)
Kode tidak dikunci:
Versi pertama, 45 byte - 15 bonus = 30
Ya saya tahu. Saya beralih dari 30 menjadi 29 dengan SEMUA pekerjaan ekstra itu. Itu menyenangkan!
Versi yang memungkinkan input huruf kecil penuh, 294 byte - 235 bonus = 59
Saya juga mencoba menghapus casing dari array data dengan
.join().toLowerCase().split(',')
tetapi akhirnya mengambil 297 karakter sebagai gantinya.sumber
JavaScript,
81 - 20 - 15 = 46 byte50 - 15 = 35 bytesumber
'c\at'
bukan'ca'+'t'
?alert({'c\at':'c\at goes "Meow"',fox:'What does the fox say'}[a=prompt()]||a)
. Mengapa tidak menghentikan peringatan? Itu sudah mengembalikan hasilnya ke konsol.GNU sed, 37 - 15 = 22 byte
sumber
MATLAB, 58 - 15 = 43 byte
Cukup mudah, dengan bonus karena tidak menggunakan
cat
dalam kode:Input harus diberikan dalam tanda kutip tunggal:
' '
.sumber
Javascript, 117 byte
Saya jelas belum menang di sini, tapi saya sudah meliput banyak hewan tambahan.
Javascript, 31 byte
sumber
HALT , 71 - 15 = 56 byte
HALT adalah bahasa yang saya (@Downgoat) dibuat untuk pemrosesan string, satu-satunya masalah adalah agak panjang
Diformat
sumber
Python 3,
81705546 - 15 = 31 byteTerima kasih kepada Stewie Griffin karena telah menghemat 15 byte
Terima kasih kepada grc untuk menghemat 8 byte.
Tidak menggunakan string
cat
menghasilkan -15 byte.sumber
JavaScript, 48 - 15 = 33 byte
Penggunaan
\x61
sebagai penggantia
dicat
.sumber
Perl, 46 - 15 = 31
sumber
Ruby,
494650 - 15 = 35 byteCukup lurus ke depan kurasa. Tidak menggunakan kucing.
Sunting: Terima kasih atas @ w0lf untuk menghemat 3 byte!
sumber
chop
: ideone.com/lTpShDPHP, 1204 - (10 * 64) - 15 - 20 = 529 byte
Saya menggunakan json encoded array yang dikompresi suara binatang. Ini berarti ia berfungsi dengan 65 hewan yang diizinkan, tetapi skrip saya sangat besar. Juga bekerja dengan rubah dan tidak memiliki kata kucing di dalamnya.
sumber
MATLAB, 46 byte
Diakui sepele. Masukan harus diberikan dalam tanda kutip tunggal.
sumber
ans = ..
umumnya tidak diterima, jika tantangannya adalah mencetak sesuatu. Saya tidak yakin apakah itu konsensus, tetapi cukup umum untuk digunakandisp
atau yang serupa.Beam ,
208206 - 15 = 191 byteBukan entri yang kompetitif, tetapi sedikit hal yang menyenangkan untuk dilakukan. Ini memeriksa huruf pertama dari input yang ditentang
cat
. Jika tidak cocok, ia akan memintas ke program kucing standar. Jika cocok, itu akan ditambahkangoes "Meow"
sumber
Java = 222 byte (terkompresi)
Atau saya bisa mendekompresnya.
Batch = 52 byte
sumber
Javascript: 48 Karakter, 48 Bytes
Uji
=>
"Anjing"<=
"Anjing"=>
"kucing"<=
"kucing pergi mengeong"sumber
s=="cat"
. Selain itu, tali kucing seharusnyacat goes "Meow"
, jadi'function(s){return s=="cat"?'cat goes "Meow"':s}
benar-benar valid.s=>s=="cat"?s+' goes "Meow"':s
(30 bytes)Haskell, 52-15 = 37 byte
Menggunakan
\99
sebagai pengganti c dalam "cat" untuk mendapatkan bonus 15 byte.sumber
O ,
221614 byte29 byte - 15
Ini panjang dan bisa bermain golf lebih banyak
sumber
𝔼𝕊𝕄𝕚𝕟 , 23 - 15 = 8 karakter / 58 - 15 = 43 byte
Try it here (Firefox only).
Rasio byte ke char adalah nyata.
sumber
Pyth, 82-95 = -13 byte
Saya akhirnya berhasil mengubah entri Python 2 fungsional baru saya ke Pyth. Itu tidak mengalahkan pesaing teratas. Ternyata zipping bersama lebih banyak hewan ke dalam kamus yang lebih besar mengurangi skor lebih cepat daripada mengaitkan hewan dengan suara secara cerdik. Ini mendukung 8 hewan selain kucing: badak, okapi, rusa, singa, harimau, luak, kuda nil, dan rusa.
Cobalah online
sumber
Japt,
25-15 = 1024-15 = 9 bytePertama kali mencoba Japt:
ƒ
harus diganti dengan karakter yang tidak patutU+0083
Kompilasi ke:Solusi lama:
Coba di sini
sumber
U+0083
bisa digantiU+0192
atauƒ
ketika Anda menjalankan cuplikan ini:"\u0083".charCodeAt()
Pyth, 26-15 (no "cat") = 11 byte
Program Pyth pertama saya!
Coba di sini
Penjelasan
sumber
C ++ 11, 316 - 11 * 10 - 15 = 191 byte
Kompilasi dengan baik dengan VisualStudio. GCC ingin saya
#include <string>
dan#include <cstdio>
. Akan lebih pendek jika saya tidak akan pergi untuk bonus, tapi saya masih berharap penulis merevisi bonus. Saya tidak bisa memikirkan bahasa di mana mendefinisikancow -> moo
atau lebih jauh lebih pendek dari 10bytes. Tambang3+key+value
byte biaya untuk tambahan22+17
byte rata dan hewan untuk menentukan struktur dan sebagainya.Tidak disatukan
sumber
using
ini bukan masalah besar, daftar penginisialisasi adalah.#include <map>
ke#import<map>
-2 byte. Ruang sebelumnya<
dapat dihilangkan dan#import
melemparkan beberapa peringatan tetapi diterima menjadi GCC dan MSVCPyth, 31 - 15 = 16 byte
Anda dapat mencobanya di sini
Penjelasan:
sumber
C99
dapat diganti dengan\C
. Masih+\C"at"
, jadi Anda bisa menyimpan bonus.C, 76 byte
sumber
PHP, 70-15 = 55 byte
(disimpan sebagai ISO-8859-1)
Menggunakan konstanta undefined terbalik sebagai string literal:
~òõ
=="\r\n"
~œž‹
=='cat'
~ߘšŒßݲšˆÝ
==' goes "Meow"'
Semuanya digabungkan dalam satu pernyataan gema, disingkat dengan
<?=
sumber