Untuk bahasa komputer, kata yang dipesan adalah kata yang tidak dapat digunakan sebagai pengidentifikasi, seperti nama variabel, fungsi, atau label. Untuk bahasa komputer lainnya, kata kunci dapat dianggap sebagai set instruksi bahasa.
Tantangan
Dengan menggunakan bahasa pilihan Anda, tulis kode dalam bahasa yang dipilih yang memberikan angka antara satu dan sepuluh 1<=n<=10
,, menghasilkan setiap n
kata (kata kunci) cadangan dari bahasa yang dipilih.
Spesifik
- Jika bahasa yang dipilih adalah case-sensitive, kata kunci yang dikeluarkan juga harus.
- Jika bahasa yang dipilih tidak peka huruf besar kata kunci yang dikeluarkan dapat dalam hal apa pun.
- Jika bahasa yang dipilih memiliki kata kunci kurang dari 10
p
, kode harus menampilkan semua kata yang dipesan untukn
antarap
dan10
. - Jika mungkin tentukan dalam jawaban apakah Anda menganggap operator sebagai kata kunci atau bukan.
Kemungkinan sampel untuk Java (JDK10)
n=1 --> true
n=3 --> try new interface
n=4 --> continue this long break
Kemungkinan sampel untuk> <>
n=1 --> >
n=3 --> > < ^
n=4 --> > < \ /
Kemungkinan sampel untuk Brain-Flak
n=1 --> (
n=3 --> ( ) [ ]
n=9 --> ( ) [ ] { } < >
Aturan
- Input dan output dapat diberikan dalam format apa pun yang nyaman .
- Tidak perlu menangani nilai input yang tidak valid , input yang valid adalah: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
- Program lengkap atau fungsi dapat diterima. Jika suatu fungsi, Anda dapat mengembalikan output daripada mencetaknya.
- Jika memungkinkan, harap sertakan tautan ke lingkungan pengujian online agar orang lain dapat mencoba kode Anda!
- Celah standar dilarang.
- Ini adalah kode-golf sehingga semua aturan golf biasa berlaku, dan kode terpendek (dalam byte) menang.
code-golf
string
compression
mdahmoune
sumber
sumber
continue this long break
Saya harap! Itu sebabnya saya di SE!Jawaban:
APL (Dyalog Unicode) , 9 byte SBCS
Program lengkap. Anjurkan stdin untuk
n
(sebenarnya berfungsi untuk rentang 0-29). Kata kunci APL adalah simbol karakter tunggal, jadi ini mencetakn
simbol ke stdout.Cobalah online!
⎕AV
Atomic Vector (yaitu set karakter)156↓
drop 156 elemen pertama⎕↑
memintan
dan mengambil banyak elemen dari atassumber
Python 2 , 25 byte
Fungsi yang tidak disebutkan namanya menerima integer di [1,10] yang mengembalikan string operator biner byte tunggal.
Cobalah online!
Operator:
Jika hanya kata kunci aktual yang diizinkan: 40 byte
Fungsi yang tidak disebutkan namanya menerima bilangan bulat di [1,10] yang mengembalikan daftar string.
Cobalah online!
Kode harus cukup mudah - itu mendefinisikan fungsi mengambil satu argumen,,
n
menggunakanlambda n:...
yang mengembalikan pertaman
(...[:n]
) dari kata kunci yang dikenal menggunakan perpustakaan standarkeywords.kwlist
(bersama dengan teknik golf standarimport*
).sumber
=
adalah "Penugasan" seperti==
"Tes untuk kesetaraan"Java 10,
8372 byte (kata kunci)Cobalah online.
Jawaban 83 byte lama:
Cobalah online.
Penjelasan:
Daftar kata kunci yang tersedia untuk Java 8. Java 10 memiliki kata kunci
var
selain ini.Java 8+, 30 byte (operator)
Cobalah online.
sumber
Jelly , 3 byte
Tautan monadik yang menerima bilangan bulat dan mengembalikan daftar karakter.
Cobalah online!
Karakter yang dihasilkan adalah semua atom monadik di halaman kode Jelly :
Bagaimana?
sumber
Arang , 16 byte
Sayang sekali tidak ada variabel preset untuk halaman kode sendiri di Charcoal.
Cobalah online.
Penjelasan:
Dapatkan substring dari indeks 0 ke nomor input:
String dengan 10 kata kunci:
sumber
n
, yang dapat saya lakukan dalam 8 byte.A
misalnya tidak digunakan sama baik-sekarang, bukan? (Kecuali dalam kombinasi denganKA
atau⌕A
.)A
adalah perintah dan operator, tetapi bukan yang baik, karena dapat menyebabkan kebingungan antaraFind
danFindAll
, tetapi Anda kemudian terjebak lagi padaH
danO
, yang hanya digunakan sebagai pengubah, dan kemudianQ
tidak digunakan sama sekali, yang membatasi Anda. Huruf Yunani, lalu?Perl 5
-lp
, 24 byteCobalah online!
Mudah untuk memperluas untuk kata kunci yang lebih dan lebih lama, tetapi Anda akan perlu melakukan casing khusus mulai dari 4 huruf karena Anda akan mengalami masalah dengan
dump
,eval
,exit
,getc
dll ..Tentu saja hanya mengeluarkan operator dan sinyal saja membosankan tetapi lebih pendek pada 11 byte:
Cobalah online!
(Saya melewatkan
#
karena tidak jelas bagaimana saya harus mengklasifikasikannya dalam konteks tantangan ini)sumber
JavaScript (Node.js) ,
7961 byteCobalah online!
Bagaimana:
Jika menggunakan operator diperbolehkan (kemungkinan besar karena mereka sudah memesan kata-kata) maka:
JavaScript (Node.js) ,
2625 byteCobalah online!
Disimpan 8 byte berkat @Adam dan 1 byte lagi berkat @ l4m2
Bagaimana:
sumber
n=>'|/^%+<&*-='.substr(-n)
int
adalah "kata pendiam" sesuai definisi dalam tantangan. Anda tentu bisa memberi nama variabelint
dalam JavaScript.int
dicadangkan sebagai kemungkinan kata kunci di masa depan dengan spesifikasi ECMAScript.substr
bukannyaslice
?Ruby , 22 byte
Cobalah online!
-2 byte terima kasih kepada @ benj2240
sumber
String#[]
memiliki dua argumen kelebihan yang dapat Anda gunakan untuk -2 byte:[0,n]
p
bukan kata yang dilindungi undang-undang,&
seharusnya berfungsip
yang akan diakses alih-alih memanggil metode tanpa variabel (p = 1; p p #=> 1
)Pyth , 4 byte
Cobalah online!
Sayangnya, banyak dari huruf-huruf tersebut adalah variabel (
GHJKNQTYZbdkz
).sumber
C # .NET,
7662 byte (kata kunci)Cobalah online.
Jawaban 76 byte lama:
Cobalah online.
Penjelasan:
Daftar kata kunci yang tersedia di C # .NET.
C # .NET, 30 byte (operator)
Cobalah online.
sumber
Pesona , 52 byte
Ini menampilkan semua kata yang disimpan dalam Mantra.
Karena semua kode non-rekursif di Charm mampu sebaris, ini adalah fungsi anonim. Panggil seperti ini:
(keluaran
[ := :: "
, hanya empat kata yang dipesan.)Memberi fungsi ini nama menambahkan 5 byte:
sumber
Brain-Flak ,
122120 byteCobalah online!
Lakukan saja bagian saya untuk mengisi contoh bahasa. Output
()[]<>}{
, muncul dari depan untuk angka kurang dari 8.sumber
Unary,
6072204020736072426436378380483266268 byteTerima kasih Jo King untuk pengurangan 99,999993768646738908474177860631%
sumber
,[.-]
di Bahasa sesuai dengan persyaratan?Ruby ,
5049 byteCobalah online!
Tidak menggunakan operator apapun (
+
,|
, dll).sumber
Ruby,
7168 byteOke, bukan pendekatan terpendek, tapi terlalu menyenangkan untuk tidak memposting. Secara terprogram menemukan semua string hingga tiga huruf kecil yang tidak dapat ditugaskan. Ada yang akan terjadi tepat 10:
["do", "if", "in", "or", "and", "def", "end", "for", "nil", "not"]
.Sunting: Disimpan 3 byte berkat Asone Tuhid.
sumber
Object
karena itu adalah kelas superException
Japt , 3 byte
Mengembalikan string, dengan setiap karakter individu menjadi nama metode di Japt.
Cobalah
;C
adalah huruf kecil danî
ulangi sampai panjangnya sama dengan input.sumber
Ayam , 7 byte
Bukan jawaban yang serius. Tetapi harus ada di sini.
sumber
R ,
76626057 byte12 byte disimpan berkat MickyT
5 byte disimpan berkat snoram
Cobalah online!
Tidak ada banyak kata yang dilindungi undang - undang di R tetapi ini adalah yang terpendek untuk disandikan. Hanya ada 9 di sini, tetapi jika input dari
10
diberikan, nilai yang hilangNA
ditambahkan ke akhir daftar dan dicetak.sumber
"NaN"
sebagai0/0
atauNaN
juga untuk pasangan byte lain.1/0,0/0
dengan1:0/0
.1[1:2]
mengembalikan[1] 1 NA
=> Anda dapat melewatkanNA
dalam vektor asli ... jika input pengguna adalah 10 maka akan ditambahkan pada akhirnya.Python 2 , 64 byte
Cobalah online!
Python 2 , 57 byte (dengan operator)
Cobalah online!
operator kata kunci
sumber
Spasi , 84 byte
Huruf
S
(spasi),T
(tab), danN
(baris baru) ditambahkan hanya sebagai penyorotan.[..._some_action]
ditambahkan sebagai penjelasan saja.Spasi hanya berisi tiga 'kata kunci' yang valid: spasi, tab, dan baris baru.
Penjelasan dalam pseudo-code:
Contoh berjalan:
Memasukkan:
1
Program berhenti dengan kesalahan: Tidak ada jalan keluar yang ditentukan.
Cobalah secara online (hanya dengan spasi, tab, dan baris baru).
Menghasilkan satu ruang.
Memasukkan:
2
Program berhenti dengan kesalahan: Tidak ada jalan keluar yang ditentukan.
Cobalah secara online (hanya dengan spasi, tab, dan baris baru).
Menghasilkan spasi, diikuti oleh tab.
Input:
3
(atau lebih tinggi)Program berhenti dengan kesalahan: Tidak ada jalan keluar yang ditentukan.
Cobalah secara online (hanya dengan spasi, tab, dan baris baru).
Menghasilkan spasi, diikuti oleh tab, diikuti oleh baris baru.
sumber
Brain-Flak , 118 byte
Cobalah online!
sumber
05AB1E , 2 byte
Cobalah online!
Setiap huruf alfabet adalah perintah di 05AB1E.
Yang dilakukan adalah mencetak
N
huruf pertama dari alfabet.sumber
> <> ,
11 109 byteCobalah online!
Ternyata solusi yang paling sederhana adalah yang terbaik. Ini menghasilkan n angka pertama, mulai dari 0.
Solusi 10 byte lama
Cobalah online!
Beberapa alternatif 10 byte:
"':1+{[>o<
"r:n[~>o<a
"'a{[>o<bc
sumber
Haskell , 22 byte
Cobalah online!
Terima kasih kepada @Angs karena menangkap kesalahan kata kunci.
Saya merasa ini bisa lebih pendek dengan membuat string alih-alih mendefinisikannya secara eksplisit, tetapi saya tidak dapat menemukan kisaran 10 karakter ASCII berturut-turut yang merupakan kata kunci Haskell (saya menemukan beberapa yang dekat, jika Anda menghitung kata kunci ekstensi bahasa). Jika ada, Anda bisa menguranginya menjadi 15 byte dengan ini, ganti
%
dengan karakter awal:Tanpa kata kunci simbolis:
Haskell , 58 byte
Cobalah online!
sumber
!
tidak dicadangkan, misalnyalet a!b=a+b
baikas
juga merupakan pengidentifikasi yang valid..
tidak dicadangkan juga - tidak ada operator lain di pembuka seperti+
dll - lihat iniC (gcc) ,
6260 byte-2 Berkat GPS
Cobalah online!
Maksud saya ... tidak pernah ada persyaratan untuk benar-benar memisahkan kata kunci.
Jika saya salah membaca - atau Anda lebih tertarik pada sesuatu yang lebih dalam semangat pertanyaan - inilah versi alternatif dengan spasi terpisah:
C (gcc) , 69 byte
Cobalah online!
sumber
do
?do
jika Anda menggunakan fungsi output string. 69 byte: TioTcl , 37 byte
Cobalah online!
sumber
Taksi, 509 byte
Ini mengambil string hardcoded di bagian atas, dan mencetak "n" karakter dari itu, dan kemudian kesalahan dengan "kesalahan: tidak ada penumpang keluar yang ditemukan".
String berisi:
[
dan]
, karakter yang digunakan untuk menyatakan rencanaa
digunakan dalam sintaks "Pickup a passenger ...".l
danr
, kependekan dari "kiri" dan "kanan", digunakan untuk memberi tahu pengemudi ke arah mana harus berbelok.n
,s
,e
, Danw
, empat arah.Saya percaya semua itu dihitung sebagai satu kata kunci karakter. Tidak Disatukan:
sumber
J , 15 byte
Cobalah online!
Memberikan array string
A.
keJ.
.Kata-kata putus-putus dalam J bertindak sebagai built-in (seperti
a.
atauA.
) atau struktur kontrol (sepertiif.
ataudo.
), atau hanya membuang kesalahan ejaan. Tak satu pun dari mereka dapat digunakan sebagai pengidentifikasi.Kurang menarik, 15 byte
Cobalah online!
Memberikan beberapa dari 10 kata kerja satu byte.
sumber
Bash dan shell menggunakan 20 byte
Anda dapat menyimpannya dalam file dengan menjalankan izin (builtin) dan menjalankannya di bawah bash seperti ini:
Menghasilkan N bash built in pertama.
Jika Anda menjalankan beberapa shell selain bash, Anda memerlukan shebang #! / Bin / bash line di awal file, untuk + 12b
sumber
QBasic, 60 byte
Jawaban ini sesuai dengan semangat pertanyaan, saya percaya: menghasilkan kata kunci yang dilindungi alfabet dengan spasi di antaranya. Saya tidak berpikir operator simbolis benar-benar dihitung sebagai "kata-kata" di QBasic, tetapi untuk kelengkapannya, inilah jawaban 30 byte menggunakan operator:
sumber