Buat kompiler FizzBuzz

17

Selamat datang di dunia golf kompiler. Tugas Anda adalah menulis sebuah program yang menghasilkan program lain untuk memainkan varian FizzBuzz pada spec.

Kompiler Anda

Tulis kompiler yang menghasilkan varian dari program FizzBuzz untuk spesifikasinya. Spesifikasi varian ini dinyatakan dalam bentuk array bilangan bulat / string.

  • Masukan mungkin dalam bentuk apa pun yang sesuai dengan bahasa Anda. (Contoh saya menggunakan n: xxxx, tetapi ini hanya untuk tujuan ilustrasi.)
  • Setiap input integer hanya dapat digunakan satu kali per permintaan kompiler Anda.
  • Bilangan bulat dari setiap pasangan akan memiliki nilai setidaknya satu.
  • String dari setiap pasangan hanya akan dibuat dari empat huruf ASCII.
  • Output harus berupa program lengkap tunggal yang sesuai dengan aturan di bawah ini.
  • Outputnya bisa dalam bentuk apa pun, asalkan merupakan program tekstual. (Jadi tidak ada ekspresi lambda yang kembali.)

Perilaku tidak ditentukan untuk input yang tidak sesuai dengan aturan di atas.

Program FizzBuzz yang Anda hasilkan

Program yang dihasilkan oleh kompiler Anda akan mengambil bilangan bulat tunggal, n , sebagai input. Ini akan menampilkan urutan angka mulai dari satu hingga dan termasuk n , mengganti angka dengan string FizzBuzz saat diperlukan.

  • Program yang dihasilkan harus dalam bahasa yang sama dengan kompiler.
  • Input n mungkin dalam bentuk apa pun sesuai dengan bahasa Anda.
  • n akan memiliki nilai setidaknya satu.
  • Angka yang merupakan kelipatan dari setidaknya satu dari input bilangan bulat ke kompiler harus diganti oleh semua string yang dipasangkan dengan bilangan bulat yang digabungkan.
  • Nomor yang tidak akan digantikan oleh string FizzBuzz harus berupa output dalam ASCII desimal.

Sebagai contoh;

> GenFizzBuzz 3:Fizz 5:Buzz
> a.out 5
1
2
Fizz
4
Buzz

Mencetak gol

Entri Anda akan dinilai berdasarkan panjang program yang dihasilkan kompiler Anda ditambahkan ke panjang kompiler Anda. Jalankan kompiler Anda berkali-kali dengan masing-masing parameter berikut dan tambahkan panjang program yang dihasilkan bersama dengan panjang kompiler untuk menemukan skor Anda.

  1. Hitung saja. (Tanpa input - Program yang dihasilkan akan menghitung 1 hingga n tanpa penggantian.)
  2. Hanya Golf. (1: Golf - Program yang dihasilkan akan menampilkan "Golf" n kali.)
  3. FizzBuzz Klasik. (3: Fizz, 5: Buzz)

(Perhatikan bahwa kompiler Anda diperlukan untuk menghasilkan kode untuk input apa pun yang valid, bukan hanya yang terdaftar ini.)

billpg
sumber
tidak ada penilaian untuk panjang kompiler ??
Sparr
dapatkah kita menganggap bilangan bulat adalah satu digit? bahwa tidak ada spasi di string?
Sparr
@Parr Apakah itu (dua digit bilangan bulat) membuat perbedaan? Ingat, hanya kode yang dihasilkan yang membuat skor Anda.
billpg
Yah, fizzbuzz adalah masalah golf yang sudah sangat menyeluruh di tempat lain di internet. Saya tidak tahu apakah saya bisa lupa membaca solusinya jika saya mencoba.
Sparr
1
Akhirnya tantangan golf yang sebenarnya masuk akal untuk ditulis dalam AWK.
shadowtalker

Jawaban:

8

Python 3 - 168 162 + 230 = 392

Oh, Python, Anda berusaha sangat keras, tetapi mengalikannya import sys;sys.argvdengan 4 benar-benar menyakitkan!

import sys;a=eval(sys.argv[1])
print("import sys\nfor i in range(1,int(sys.argv[1])+1):print("+"+".join('"%s"*(i%%%d==0)'%t for t in a)+(a and"or str(i))"or"i)"))

Program keluaran:

import sys
for i in range(1,int(sys.argv[1])+1):print(i)
import sys
for i in range(1,int(sys.argv[1])+1):print("Golf"*(i%1==0)or str(i))
import sys
for i in range(1,int(sys.argv[1])+1):print("Fizz"*(i%3==0)+"Buzz"*(i%5==0)or str(i))
  • Input yang diharapkan untuk program utama adalah urutan tupel Python yang dapat dievaluasi atau '()'tanpa input. (Kau mengatakan "nyaman".) Contoh masukan: '()', '("Golf",1),', '("Fizz",3),("Buzz",5)'Catatan mengutip untuk shell dan trailing koma selama satu masukan.

  • Memperbaiki kesalahan 1 pagi dengan mengubah dari dikt (pemesanan tidak ditentukan!) Ke tupel.

  • Masukan yang diharapkan untuk program lain hanyalah angkanya

Jason S
sumber
Dalam contoh argumen baris perintah Anda, saya harus membungkus dalam tanda kutip ganda dan menggunakan tanda kutip tunggal untuk 'Fizz' dan 'Buzz' - seperti begitu `" {3: 'Fizz', 5: 'Buzz'} "namun program ini masih melempar kesalahan untuk saya.
James Williams
Apa kesalahannya?
Jason S
@JasonS - Hai, di sana. Saya tertarik dengan pengalaman Anda tentang tantangan ini. meta.codegolf.stackexchange.com/questions/5050/…
billpg
6

perl6 376 340 84 + 115 = 199

UPDATE: beralih dari perl5 ke perl6 untuk mendapatkan saytanpa use feature.

PEMBARUAN: tiga kasus uji, bukan lima

Ada ratusan solusi untuk FizzBuzz yang sudah bermain golf, dan banyak kontes berakhir dengan hasil yang sama, jadi dari situlah saya memulai. Kompiler saya hanya menghasilkan versi khusus dari solusi itu. Beberapa karakter tambahan dimasukkan ke akun untuk variasi "hitung saja".

kompiler, mengharapkan argumen seperti: "Fizz 3" "Buzz 5"

print'say(('.(join'.',map{'('.(join')[$_%',split).']'}@ARGV).')||$_)for 1..$ARGV[0]'

program yang dikompilasi, perkirakan argumennya seperti ini: 100

say(()||$_)for 1..$ARGV[0]
say(((Golf)[$_%1])||$_)for 1..$ARGV[0]
say(((Fizz)[$_%3].(Buzz)[$_%5])||$_)for 1..$ARGV[0]

program yang dikompilasi untuk kasus uji lama:

say(((Twoo)[$_%2].(Four)[$_%4].(Eiht)[$_%8])||$_)for 1..$ARGV[0]
say(((Twoo)[$_%2].(Thre)[$_%3].(Five)[$_%5].(Sevn)[$_%7])||$_)for 1..$ARGV[0]
Sparr
sumber
Saya telah mengubah aturan sebagaimana dibahas dalam komentar pertanyaan. Anda ingin menghitung ulang skor Anda.
billpg
@ billpg selesai, dan ditingkatkan :)
Sparr
Hai yang disana. Saya tertarik dengan pengalaman Anda tentang tantangan ini. meta.codegolf.stackexchange.com/questions/5050/…
billpg
3

Pyth - 51 + (38 + 43 + 50) = 182 byte

Mungkin bisa golf compiler beberapa byte. Tautan pada mereka semua adalah tautan permanen ke penerjemah online.

Kompiler - 51 byte

%"K[%s)=dc\"%s\"dFGr1hQJkFNKI!%%GN~J@dxKN))?JJG",zw

Hanya melakukan pemformatan string dengan input tuple. Mengambil input seperti:

3 5
Fizz Buzz

Tidak ada - 38 byte

K[)=dc""dFGr1hQJkFNKI!%GN~J@dxKN))?JJG

Just Golf - 43 byte

K[1)=dc"Golf"dFGr1hQJkFNKI!%GN~J@dxKN))?JJG

Classic Fizz Buzz - 50 byte

K[3 5)=dc"Fizz Buzz"dFGr1hQJkFNKI!%GN~J@dxKN))?JJG
Maltysen
sumber
2

C ++ 11 ~ 486 + (234 + 244 + 255) = 1219

Partisipasi pertama di sini, tantangan ini bukan yang paling sulit jadi saya pikir saya akan mencobanya. Meskipun menggunakan C ++, dan bahkan dengan penambahan C ++ 11 masih merupakan bahasa yang cukup verbose, tapi saya yakin ada ruang untuk perbaikan.

Kompiler (486):

#include<sstream>
#include<iostream>
using namespace std;main(int c,char**v){stringstream t;int i;string s,o;o="#include <iostream>\n#include <map>\nusing namespace std;main(int c,char**v){int i,n=stoi(v[1]);map<int,string> f{";int z=2;for(int j=1;j<c;++j){t.str(v[j]);t.clear();t >> i; t >> s;o+="{"+to_string(i)+",\""+s+"\"}"+(z++==c?"":",");}o+= R"(};bool p;for(i=1;i<n;++i){p=true;for(auto e:f){if(i%e.first==0){cout<<e.second;p=false;}}cout<<(p?to_string(i):"")+"\n";}})";cout<<o;}

Ini mengasumsikan argumen dalam bentuk 3Fizz 5Buzzdll.

Hitung (234):

#include <iostream>
#include <map>
using namespace std;main(int c,char**v){int i,n=stoi(v[1]);map<int,string> f{};bool p;for(i=1;i<n;++i){p=true;for(auto e:f){if(i%e.first==0){cout<<e.second;p=false;}}cout<<(p?to_string(i):"")+"\n";}}

Golf (244):

#include <iostream>
#include <map>
using namespace std;main(int c,char**v){int i,n=stoi(v[1]);map<int,string> f{{1,"Golf"}};bool p;for(i=1;i<n;++i){p=true;for(auto e:f){if(i%e.first==0){cout<<e.second;p=false;}}cout<<(p?to_string(i):"")+"\n";}}

FizzBuzz (255):

#include <iostream>
#include <map>
using namespace std;main(int c,char**v){int i,n=stoi(v[1]);map<int,string> f{{3,"Fizz"},{5,"Buzz"}};bool p;for(i=1;i<n;++i){p=true;for(auto e:f){if(i%e.first==0){cout<<e.second;p=false;}}cout<<(p?to_string(i):"")+"\n";}}

Informasi tambahan

Diuji dengan GCC 4.8.1, tidak ada cheat compiler.

Berikut ini adalah makefile kecil untuk mengotomatisasi pembuatan case uji dan menjalankannya (digunakan make run):

run:
    g++ main.cpp --std=c++11 -o fbc

    ./fbc > count.cpp
    g++ count.cpp --std=c++11
    echo "======= Count ========"
    ./a.out 15

    ./fbc 1Golf > golf.cpp
    g++ golf.cpp --std=c++11
    echo "======= Golf ========"
    ./a.out 15

    ./fbc 3Fizz 5Buzz > fizzbuzz.cpp
    g++ fizzbuzz.cpp --std=c++11
    echo "======= FizzBuzz ========"
    ./a.out 15
Internet terbuat dari catz
sumber
Hai yang disana. Saya tertarik dengan pengalaman Anda tentang tantangan ini. meta.codegolf.stackexchange.com/questions/5050/…
billpg
map<int,string> fbisa jadi map<int,string>f. Anda dapat menginisialisasi j=1pada saat yang bersamaan dengan z.
Yytsi
2

Ruby 99 + (86 + 94 + 103) = 382

puts"(1..ARGV[0].to_i).each{|i|x=[];#{ARGV[0]}.each{|k,v|x<<v if i%k==0};puts x.size>0?x.join():i}"

Pemakaian:

wc -c main.rb # 99 chars
ruby main.rb "{}" | ruby - 100 # 1..2..3..
ruby main.rb "{}" | wc -c # 86 chars
ruby main.rb "{1=>:Golf}" | ruby - 100 # Golf..Golf..Golf..
ruby main.rb "{1=>:Golf}" | wc -c # 94 chars
ruby main.rb "{3=>:Fizz,5=>:Buzz}" | ruby - 100 # 1..2..Fizz..4..Buzz..
ruby main.rb "{3=>:Fizz,5=>:Buzz}" | wc -c # 103 chars
William Andrew Burnson
sumber
2

Stax , 23 + 5 + 17 + 29 = 74

╥╟.└ç╘SJ∞CF╔v=▌╝Σ@∞ìé«g

Jalankan dan debug itu

Jawaban terpendek sejauh ini. Tidak mengherankan dikalahkan oleh Jelly. Template string yang disediakan di Stax sangat rapi dan menyediakan fungsi seperti printf. Program yang dihasilkan oleh kompiler hampir selalu sesingkat yang terbaik dapat dicapai dengan codegolfing secara manual, tanpa menggunakan pengepakan.

Kompilator itu sendiri panjangnya 23 byte .

Setara ASCII adalah:

{H34|S_h"_`c%z`n?+"m"mz`cc_?

Input yang diberikan [], menghasilkan yang ini (5 byte)

mzc_?

Jalankan dan debug itu

Input yang disediakan [[1,"Golf"]], menghasilkan yang ini (17 byte)

mz_1%z"Golf"?+c_?

Jalankan dan debug itu

Input yang disediakan [[3,"Fizz"],[5,"Buzz"]], menghasilkan yang ini (29 byte)

mz_3%z"Fizz"?+_5%z"Buzz"?+c_?

Jalankan dan debug itu

Weijun Zhou
sumber
1

Gangguan umum, 636 577

(ql:quickload'cl-ppcre)(lambda(z)(princ(subseq(ppcre:regex-replace-all" *([(')]) *"(with-output-to-string(@)(print`(lambda(n)(dotimes(i n)(loop for(m s)in ',z if(=(mod(1+ i)m)0)do(princ s))(do()((fresh-line))(princ (1+ i)))))@))"\\1")1)))

Saya mengambil jawaban saya yang lain dan membungkusnya dengan kuasiquote sambil menambahkan parameter input. Saya mencetak formulir yang dihasilkan sebagai satu-baris dan menghapus karakter spasi yang tidak perlu. Kompiler sedikit lebih lama dari versi sebelumnya, tetapi skor yang dihasilkan berkurang.

Skor

(let ((*standard-output* (make-broadcast-stream)))
  (loop
     for form in '(215                      ; Compiler
                   ()                       ; Count
                   ((1 "Golf"))             ; Golf
                   ((3 "Fizz")(5 "Buzz")))  ; FizzBuzz
     for length = (if (numberp form) form
                      (length (funcall *fun* form)))
     collect length into lengths
     sum length into sum
     finally (return (values sum lengths))))

Nilai yang dikembalikan:

574
(215 111 119 129)

Cantik

(defun fizz-buzz-compiler (z)
  (princ (subseq
          (cl-ppcre:regex-replace-all
           " *([(')]) *"
           (with-output-to-string (stream)
             (print
              `(lambda (n)
                 (dotimes(i n)
                   (loop for (m s) in ',z
                      if (=(mod(1+ i)m)0)
                      do (princ s))
                   (do () ((fresh-line))
                     (princ (1+ i))))) stream))
             "\\1") 1)))

Format input adalah daftar (number string)pasangan. Sebagai contoh:

(fizz-buzz-compiler '((3 "Fizz")(5 "Buzz")))

... mencetak ke output standar:

(LAMBDA(N)(DOTIMES(I N)(LOOP FOR(M S)IN'((3 "Fizz")(5 "Buzz"))IF(=(MOD(1+ I)M)0)DO(PRINC S))(DO NIL((FRESH-LINE))(PRINC(1+ I)))))

... yang, cukup dicetak, adalah:

(lambda (n)
  (dotimes (i n)
    (loop for (m s) in '((3 "Fizz") (5 "Buzz"))
          if (= (mod (1+ i) m) 0)
          do (princ s))
    (do () ((fresh-line)) (princ (1+ i)))))

Menguji fungsi yang dihasilkan:

CL-USER> ((lambda (n)
  (dotimes (i n)
    (loop for (m s) in '((3 "Fizz") (5 "Buzz"))
          if (= (mod (1+ i) m) 0)
          do (princ s))
    (do () ((fresh-line)) (princ (1+ i))))) 20)
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
coredump
sumber
1

Jelly , 88 84 83 73 byte

Sejauh ini jawaban terpendek (mengalahkan "jawaban terpendek" sebelumnya sebesar 1 byte)

Penyusun:

Ṿ€“ḍ@€“ẋ"ЀF€ȯ"”jµFF?⁾RY

Cobalah online! (penyusun)

Cobalah online! (verifikasi bytecount)


Statistik:

19 24 penyusun
   20 golf
17   2 hitungan
   27 fizzbuzz
83 73 total
pengguna202729
sumber
Senang melihat dipukuli.
Weijun Zhou
0

C, total 1080 byte

Kompiler [369 byte]

#include<stdlib.h>
r,t,f=3,b=5,n;char*F="FIzz",*B="buZZ";main(int c,char **v){if(f)for(c=atoi(v[1]),n=1;c>=n;)r=f?n%f:0,r?(t=b?n%b:0)?printf("%i\n",n):puts(B):r?printf("%s%s\n",F,B):puts(F),++n;else for(c=0;c<atoi(v[1]);)printf("%i\n",++c);}

Fizz Buzz [241]

#include<stdlib.h>
r,t,f=3,b=5,n;char*F="FIzz",*B="buZZ";main(int c,char **v){if(f)for(c=atoi(v[1]),n=1;c>=n;)r=f?n%f:0,r?(t=b?n%b:0)?printf("%i\n",n):puts(B):r?printf("%s%s\n",F,B):puts(F),++n;else for(c=0;c<atoi(v[1]);)printf("%i\n",++c);}

Golf [237]

#include<stdlib.h>
r,t,f=1,b=0,n;char*F="golf",*B="";main(int c,char **v){if(f)for(c=atoi(v[1]),n=1;c>=n;)r=f?n%f:0,r?(t=b?n%b:0)?printf("%i\n",n):puts(B):r?printf("%s%s\n",F,B):puts(F),++n;else for(c=0;c<atoi(v[1]);)printf("%i\n",++c);}

Hitung [233 byte]

#include<stdlib.h>
r,t,f=0,b=1,n;char*F="",*B="";main(int c,char **v){if(f)for(c=atoi(v[1]),n=1;c>=n;)r=f?n%f:0,r?(t=b?n%b:0)?printf("%i\n",n):puts(B):r?printf("%s%s\n",F,B):puts(F),++n;else for(c=0;c<atoi(v[1]);)printf("%i\n",++c);}
NoSeatbelts
sumber
0

dc , 434 byte

[:a]sa[91Pn93Pznlanps_znlanz0<R]sR[[[lj1-;aP1sb]sB0sj[dljd2+sj;a%0=Bljlz>F]sF[p2Q]sP]P]sI[[[]sF[pq]sP]nq]sN[z0=Nzn[sz]PlRxlIx]x[sn0dsb[1+0sjlFx[lb0=PAP]x0sbdln>M]dsMx]P

Cobalah online!

Input untuk kompiler (168 byte) harus ditempatkan pada stack sebagai integer, string, integer, string, dan sebagainya ( 3 [Fizz] 5 [Buzz]). Itu harus diberikan dalam urutan yang ingin dicetak dan buzz mereka dicetak, yang mungkin sedikit curang (setelah menerapkan semacam gelembung dcsebelumnya, saya percaya itu akan menelan biaya sekitar 100 byte) tetapi juga memungkinkan pengguna untuk , katakanlah, masih memiliki 'Fizz' berjalan pada 3 dan 'Buzz' berjalan pada 5, tetapi memiliki 15 menghasilkan 'BuzzFizz'.

Saya yakin ini bisa sedikit lebih golf; makro utama dalam program akhir ( M) bergantung pada dua makro ( Fdan P) yang agak tidak perlu tanpa input. Sekarang kompiler memeriksa input dan output yang berbeda (jauh lebih kecil) versi makro ini jika tidak ada, tapi saya tidak yakin seluruh pengaturan optimal.

Compiler itu sendiri cukup mudah, hanya memeriksa untuk melihat apakah ada 'aturan' pada stack, dan jika demikian ia mencetak kode yang menyimpan kedalaman stack z, menyimpan stack dalam array yang diindeks 0 a, dan kemudian mencetak generalisasi Kode FizzBuzz. Jika tidak ada apa-apa di stack, itu benar-benar hanya mencetak versi modifikasi dari kode FizzBuzz. Kasus uji:

Tidak ada input (46 byte):

[]sF[pq]sPsn0dsb[1+0sjlFx[lb0=PAP]x0sbdln>M]dsMx

3 [Fizz] 5 [Buzz] (117 byte):

4sz[Buzz]3:a5
2:a[Fizz]1:a3
0:a[lj1-;aP1sb]sB0sj[dljd2+sj;a%0=Bljlz>F]sF[p2Q]sPsn0dsb[1+0sjlFx[lb0=PAP]x0sbdln>M]dsMx

1 [Golf] (103 byte):

2sz[Golf]1:a1
0:a[lj1-;aP1sb]sB0sj[dljd2+sj;a%0=Bljlz>F]sF[p2Q]sPsn0dsb[1+0sjlFx[lb0=PAP]x0sbdln>M]dsMx

Mereka semua mengharapkan nilai n pada stack, ini akan disimpan n. Yang memiliki 'aturan' menempatkannya dalam array a, dengan string pada indeks ganjil dan bilangan bulat pada genap. Makro utama M,, menambah apa pun yang ada di tumpukan, menjalankan makro Fyang memeriksa nilai terhadap array a, memeriksa apakah Fset register bke true atau tidak dan mencetak bagian atas tumpukan jika demikian atau baris baru jika tidak, resetb ke kepalsuan, lalu menyimpan berjalan sendiri jika nbelum tercapai. Makro F, diberikan aturan, menelusuri seluruh array mencari kecocokan. Itu bertambah dua karena bilangan bulat dan string kami dijalin melalui array, dan pada pertandingan itu disebut makro B. MakroBhanya mengambil string (posisi saat ini dalam array kurang satu), dan mencetaknya. Itu juga bmenjadi kebenaran. Kompiler kami tidak perlu repot mencetak Btanpa input, dan pada dasarnya membuat tidak Fada.

brhfl
sumber
0

vim, 122 (kompiler) + 73 (kosong) + 90 (golf) + 123 (fizzbuzz) = 392 byte

Penyusun

:%s/\v(.*):(.*)/qq\1jA\2<C-V><C-V><C-V><ESC>q=@qgg
VgggJAddGdd:%s/\v[0-9]*([^0-9])/\1
<C-V><ESC>:%@n
:w
:so! %
<ESC>ggii%s/=/<C-V><ESC><C-V><C-A>a/g<C-V><ESC>"ncc:%!seq 0 =
<ESC>

Masukkan format

3:Fizz
5:Buzz

Kode yang dihasilkan untuk kasus FizzBuzz

i%s/=/<ESC><C-A>a/g<ESC>"ncc:%!seq 0 =
qq3jAFizz<C-V><ESC>q=@qggqq5jABuzz<C-V><ESC>q=@qggddGdd:%s/\v[0-9]*([^0-9])/\1
<ESC>:%@n
:w
:so! %

Kode yang Dihasilkan, Beranotasi

# replace the input number with a regex that replaces the placeholder (=) 
# with the real number + 1 (we'll need an extra line as a terminator later)
i%s/=/<ESC><C-A>a/g<ESC>

# pull the substitution command into register c and enter insert mode
"ncc

# create the numbers 0..N+1
:%!seq 0 =

# for each word, scan down k lines at a time and append the word to each
qq3jAFizz<C-V><ESC>q=@qgg
qq5jABuzz<C-V><ESC>q=@qgg

# delete the 0 and N+1 lines
ddGdd

# remove the numbers from any line with words
:%s/\v[0-9]*([^0-9])/\1
<ESC>

# Run the command we created at the beginning, replacing the placeholder 
# with the real number
:%@n

# The file now contains yet another program, with the constants defined.   
# Save and run.
:w
:so! %

# The file now contains a program that, when run on a buffer containing 
# a single line with a number, will produce the appropriate output

<C-V>adalah 0x16. <ESC>adalah 0x1b. <C-A>adalah 0x01.

Sesi contoh

$ cat code.txt
2:Foo
4:Bar
$ cat input.txt
8
$ { cat compile.vim; echo ':wq'; } | vim code.txt
# code.txt now contains the generated code
$ { cat code.txt; echo ':wq'; } | vim input.txt
$ cat input.txt
1
Foo
3
FooBar
5
Foo
7
FooBar
sinar
sumber
Ada sesuatu yang aneh terjadi ketika saya mencoba mendefinisikan dan menjalankan makro dari dalam makro lain. Jika saya berhasil mengatasinya, saya mungkin menyimpan beberapa byte pada pendekatan save dan source.
Ray
-2

SlooSarksi .Lang, 179

%%--43^jjk"/][][0[#!#111# h SD G ergDFGdfg[]9--99+==
CodeBro
sumber
10
Saya tidak terbiasa dengan bahasa ini; dapatkah Anda menautkan kami ke halaman yang menggambarkannya?
lirtosiast