Atlamayı koşullu olarak kullanma
Bazı zamanlarda, farklı girdiler aldıktan sonra farklı şeyler yapmanızı gerektiren> <> programlarını yazabilirsiniz. Genellikle, bunu ?
ayrıştırmak için koşullu ( ) ve yön değiştiriciler kullanırsınız. Bazı durumlarda, bu iyi çalışır (özellikle işlemek için daha az girdi türü olduğunda), ancak bazen böyle bir şeyle sonuçlanırsınız. (Bu kodun başka numaralar kullanılarak azaltılabileceğini dikkate almayın, sadece gösterim amaçlıdır)
i:"a"=?v:"b"=?v"c"=?v>
.00n1< .00n2<.00n3<
Bu iyi olsa da, (ki ben şahsen hiç görmeyi sevmediğim) bazı boşlukları var ve çok fazla tekrar var ( =?v
ve .00n
). Bunun yerine, koşullarınız olarak bir atlama ve farklı çizgiler kullanabilirsiniz. İşte bir örnek:
i:"a")$"b")+1+0$.>
v1
v2
v3
<.00n
Bu, 10 bayt kapalı olur. İşte olanlar:
i:
Girdiyi bir kez çoğaltırız, böylece iki kez değerlendirebiliriz
"a")$"b")+
Bu kendi tür bir ipucu olabilir, ama burada yaptığım girişin "a" karakterinden daha büyük olup olmadığını ve sonra "b" karakterinden daha büyük olup olmadığını kontrol etmek ve sonucu eklemek. "A" için bu, "b" için 1 ve "c" için 0 verir.
1+0$.
Sihir yapılan yer burasıdır; önceki basitleştirmenin sonucunu alıyoruz ve 1 ekliyoruz ("a" için 1, "b" için 2, "c" için 3), ardından 0'a basın ve değerleri değiştirin. Atlamaya ulaştığımızda, bu karakterlere atadığımız değere karşılık gelen satıra taşınır (örneğin, "a" için satır 1). NB Satırı 0, programın en üstüdür.