Koşullu Çıktı
GNU Ortak Lisp
~v^
Yukarı ve dışarı yönergesi ~^en sık geçen Liste öğesinden sonra sona erdirmek için operasyon biçimlendirme liste halinde kullanılır. Bununla birlikte, vbir bağımsız değişkeni tüketmek için bir değiştiriciyle de kullanılabilir , bu durumda bu bağımsız değişken sıfır ise sona erer. Bu, tarafından üretilen sıfır ile başa çıkmak için özellikle yararlıdır dotimes.
(loop as n from 1 to 10 do(format t"~d~%"n))
(dotimes(n 11)(if(> n 0)(format t"~d~%"n)))
(dotimes(n 11)(format t"~v^~d~%"n n))
format(condition)
İlk bağımsız değişkeni formatbiri olabilir t, nildiğer adıyla (), veya bir akım üretilir. Tasarı kabul edildiği takdirde t, bu çıktı olacak stdouteğer, nilo dize olarak biçimlendirilmiş çıktı dönecektir. Bu koşullu çıktı kullanılabilir. Yukarıdaki örnek eşit derecede kısa yazılabilir:
(dotimes(n 11)(format(> n 0)"~d~%"n))
Bir değer çıkarıldıysa, dönüş değeri olacaktır nil. Bu nedenle, bir dodöngü için sonlandırma koşulu olarak da kullanılabilir :
(do((n 11))((<(decf n)1))(format t"~d~%"n))
(do((n 11))((format(>(decf n)0)"~d~%"n)))
~[...~]
Koşullu biçimlendirici bir bağımsız değişken kullanır ve listeden dizine göre bir biçimlendirme dizesi seçer. Yaygın bir kullanım durumu, ~:;sıfır değil sıfır arasında seçim yapmak için varsayılan biçimlendiricidir .
(dotimes(n 11)(format t"~v^~[~r~:;~d~]~%"n(mod n 3)n))
Koşullu biçimlendiriciler de iç içe yerleştirilebilir, bu durumda her biri sırayla bir argüman tüketir.
~&
Yukarıdaki örneklerin her birinde, ~%bir satırsonu yayınlamak için kullanılır. Çoğu durumda, bunun yerine gerçek bir satırsonu kullanılabilir. Başka bir seçenek de ~&, yalnızca çıkış imleci bir satırın başında değilse, yani a fresh-line.
Her ikisi de ~%ve ~&bir vdeğiştirici ile veya sabit olarak bir argüman alabilir ve çok sayıda yeni satır üretecektir. İkisi de olumsuz bir argümanı memnuniyetle kabul edeceklerdir, bu durumda hiçbir şey yaymazlar.
Dış Referanslar
Pratik Ortak Lisp
18. Birkaç FORMAT Tarif
Common Lisp the Language, 2. Baskı
22.3.3. Karakter Akışlarına Biçimlendirilmiş Çıktı