Saya telah bekerja di lain tumpukan berbasis bahasa golf disebut Stackgoat . Dalam tantangan ini Anda akan menulis Tokenizer untuk Stackgoat (atau benar-benar bahasa berbasis stack umum).
Contohnya
"PPCG"23+
["PPCG", '23', '+']
'a "bc" +
['"a"', '"bc"', '+']
12 34+-"abc\"de'fg\\"
['12', '34', '+', '-', '"abc\"de'fg\\"']
"foo
['"foo"']
(empty input)
[]
' ""
['" "', '""']
Spesifikasi
Tiga jenis yang perlu Anda tangani adalah:
- String, apa pun di dalamnya
""
- Bilangan, urutan angka apa pun
- Operator, karakter tunggal lainnya selain spasi putih
Whitespace pada dasarnya diabaikan kecuali dalam string atau memisahkan dua angka.
String / spesifikasi char:
- String dibatasi oleh a
"
, dan ketika\
ditemui, karakter selanjutnya harus melarikan diri. '
Karakter diawali dengan a dan karakter setelah'
harus dikonversi menjadi string literal.'a
->"a"
'
akan selalu memiliki karakter setelahnya- Kutipan penutup harus dimasukkan secara otomatis
Aturan:
- Tidak ada bentuk
eval
yang diizinkan
Input output:
- Input dapat diambil melalui STDIN, parameter fungsi, atau yang setara dengan bahasa Anda.
- Output harus berupa array atau padanan terdekat bahasa Anda.
code-golf
parsing
code-golf
hexagonal-grid
code-golf
string
code-golf
string
code-golf
combinatorics
code-golf
ascii-art
code-golf
string
game
counting
code-golf
arithmetic
complex-numbers
code-golf
string
code-golf
decision-problem
hexagonal-grid
code-golf
string
sequence
code-golf
number
arithmetic
code-golf
ascii-art
code-golf
ascii-art
code-golf
string
arithmetic
code-golf
number
simulation
code-golf
number
arithmetic
code-golf
string
sequence
unicode
code-golf
string
ascii-art
balanced-string
code-golf
number
clock
code-golf
ascii-art
number
code-golf
math
number
sequence
code-golf
string
ascii-art
balanced-string
code-golf
math
string
popularity-contest
graphical-output
image-processing
code-golf
string
permutations
code-golf
string
code-golf
random
code-golf
string
cryptography
palindrome
code-golf
chess
code-golf
math
array-manipulation
topology
code-golf
math
sequence
code-golf
keyboard
classification
code-golf
string
sequence
code-golf
natural-language
code-golf
math
number
sequence
sorting
code-golf
sequence
combinatorics
grid
tic-tac-toe
code-golf
geometry
code-golf
number
restricted-source
new-years
expression-building
Downgoat
sumber
sumber
'"PPCG"'
bukannya adil"PPCG"
?Jawaban:
Retina ,
686463 byteatau
Saya pikir ini mencakup semua kasus tepi yang funky, bahkan yang tidak dicakup oleh kasus uji dalam tantangan.
Cobalah online!
sumber
Ruby, 234 byte
Saya mencoba menggunakan
find(&:itself)
trik yang saya lihat ... di suatu tempat, tetapi ternyata.itself
sebenarnya bukan metode. Juga, saya sedang berusaha menurunkan regex, tapi itu sudah tidak bisa dibaca.Jika kita tidak perlu menampilkan dengan cara mewah (yaitu string tidak harus dikutip dalam array) Saya dapat menyimpan seluruh byte lotta:
Still Ruby, 194 byte:
Saya yakin saya bisa bermain golf lebih banyak, tetapi saya tidak yakin bagaimana caranya.
Ungolfed segera hadir. Saya mulai mengutak-atik golf langsung di beberapa titik dan saya harus menggodanya.
sumber
Python 3, 228 byte
Ini bagus, panjang, dua baris.
Uji dengan Python 3. Ini beberapa contoh:
sumber