Bunu ilk argüman olarak iletin:
C=("").char;_G[C(112,114,105,110,116)](C(72,101,108,108,111,44,32,87,111,114,108,100,33))
Orijinal kodun bir dosyada olduğunu varsayarsak tehtmi.lua
, çalıştırın (bash veya benzeri bir kabukta):
lua tehtmi.lua 'C=("").char;_G[C(112,114,105,110,116)](C(72,101,108,108,111,44,32,87,111,114,108,100,33))'
Ayrıca TIO'nun kullandığı Lua 5.3 üzerinde çalışıyor, neden çevrimiçi denemiyorsunuz ? "PUC-Rio'nun Lua 5.1" çekirdeğini kullanan bir uygulamayı test etmedim (çünkü gerçekten hiçbir bilgi bulamıyorum), ama benim çözümüm muhtemelen orada da çalışıyor.
Nasıl?
İlk bağımsız değişkeni kod olarak çalıştırır, ancak yalnızca 5'ten az küçük karakter içeriyorsa.
İşin püf noktası koşmak print("Hello, World!")
. Bunun çalıştırılabilecek başka bir yolu da_G["print"]("Hello, World!")
, yalnızca dizeleri kullanan kullanmaktır.
Ancak, küçük harf sayımı kısıtlaması nedeniyle dizeyi doğrudan kullanamayız, ancak bir dizi bayttan dizeye dönüşebilen ("").char
işlevi almak için çalıştırabilirsiniz string.char
. Ben yukarıdaki gibi kullanılabilir hem de print
ve Hello, World!
dizeleri oluşturmak için kullanabilirsiniz bir büyük harf değişkeni (böylece sınırı vurmak yok) atadı .