$^//.{#}/S1//.$/
Cobalah online!
Format inputnya adalah sebagai berikut:
string
index
Dan program ini 1-diindeks.
Penjelasan
Wortel memiliki beberapa variabel global, satu untuk setiap jenis: string, float, dan array (lainnya akan segera diimplementasikan). Program dimulai dalam mode string, di mana semua operator akan mempengaruhi variabel string global. Dan saya menyebut variabel-variabel ini "tumpukan".
(Contoh masukan: abcdef\n3
)
$ Get the first line of the input and set the stack-string to this value
^ Exit caret-mode
stack-string = "abcdef"
/ Operator (behaves differently depending on the argument)
/.{#}/ And the argument to this operator is a regex, so this program gets the matches of this regex into the stack-array
. Any character
{#} Pops a line from the input. So now this evaluates to # of any character where # is the second line of the input (in this case, 3)
stack-array = ["abc"]
And now we just need to get the last character in this string, but first
S1 Join the array on the number 1 and set this to the stack-string. Because the array only contains one element, the number 1 does not appear in the stack-string.
stack-string = "abc"
/ Operator; because the argument is a regex, this retrieves the matches of the regex:
/.$/ Get the last character in the string
stack-array = ["c"]
Sekarang ini mengembalikan satu array elemen yang berisi string panjang satu, tetapi ditampilkan sebagai string di situs web.
Jika kita benar-benar ingin memberikan hasil sebagai string, kita dapat dengan mudah melakukannya S","
pada akhirnya, tetapi tidak masalah karena outputnya masih terlihat sama pada interpreter.