CAPL 1.5+; 6 giriş olmadan; 10 - 10 = 0 giriş
Sidenote
Golf sorularına tam olarak ne sorduğunu yapan yerleşik işlevler yapabildikleri için özel dillerin golf sorularına izin verilmediğini bir yerde [link?] Okudum, ancak CAPL'ı genel olarak golf oynamayı kolaylaştırmak için yaptım . Burada buna izin verilmediğini düşünüyorsanız, bana bildirin!
> <> Ve Befunge'den (Satırlar arasında hareket edebilir ve sayıları bastırmak için onaltılık karakterler kullanabilirsiniz), bazıları Ruby'den, bazıları da golf oynamayı kolaylaştırmak için bazı fikirlerim var .
CAPL soldan sağa doğru okur ve satırın sonunda bir satır aşağı gider. Son satırda ise, program sonlandırılacak.
Kimse henüz bu dili bilmediğinden, mümkün olduğunca açıklamaya çalışacağım.
Çıktı y. 6 bayt
bb*.n<
bb*
b
onaltılı olduğu 11
, bu yüzden bb*
olduğu 11*11
= 121
UTF-8 eşdeğer olan, y
. Bu değer yığına itilir.
.
Yığından en üstteki değeri çıkar ve UTF-8 olarak çıkar. 121
Yığının üstünde olduğu gibi , dizin burada yoksayılır.
n
Yeni bir satır
<
çıkarır İşaretçiyi satırın başına geri gönderir, böylece bu satırı tekrarlar. Girdiyi beklemeyeceğimiz için, girişi tekrar istemeden bunu güvenle yapabiliriz.
Girişten çıkış. 10 bayt, bonusdan sonra 0
i~a&{X:.)}
i
Kullanıcıdan girdi alır, yığının üstüne UTF-8 olarak basar ve bundan sonra uzunluğu iter. Yani [72,101,108,108,111,5]
~
yığından bir sayı çıkar, ardından bu bayt miktarını tersine çevirir. Yani [111,108,108,101,72]
a
onaltılık 10
, newline karakteri
&{...}
sonsuz bir döngü yapar. Girdi var, bu yüzden işaretçiyi çizgiye geri gönderemeyiz. Fonksiyonu aşağıdaki satırda tutabilirim, bu da beni bir bayt olarak güvence altına alır, ancak yeni satırlara bu zorlamada izin verilmez.
X
Üst değeri yığından kaldırır (
:.
Dizinden döngü) Üst değeri kopyalar, ardından UTF-8
)
Yığını sağa döndürür. ( [1,2,3,4,5]
-> [5,1,2,3,4]
)
Bununla birlikte, bunun anlamı yeni bir satırla başlayacağız, daha sonra giriş, sonra yeni satır, sonra giriş vb. Bonus
iXa#~&{X:.)}
Buradaki tek yeni komut #
, yığındaki öğelerin miktarını yığına iter.
Uzunluğu kaldırdım i
, çünkü 1 ekliyorum, sonra newline ile değişmek, uzunluğu tekrar alıp tekrar almaktan daha uzun.
Sadece eğlence için, burada bir "Merhaba Dünya" programı.
"Hello World"#~
#?!;.<
İşlem ?!
> <> ile aynı.
y
veya kullanamazsınız" olarak mı okumalıyım\n
?