6
私の質問は
どのようにREPLプリント出力の精度を設定できますか?一例として、LispでREPL出力の桁精度をどのようにフォーマットするのですか?
、ここではこのシンプルな機能:
(defun gaussian (rows cols sigma)
(let ((filter (make-array `(,rows ,cols)))
(rowOffset (/ (- rows 1) 2.0))
(colOffset (/ (- cols 1) 2.0)))
(loop for i from 0 to (- rows 1)
do (loop for j from 0 to (- cols 1)
do (setf (aref filter i j)
(gaussDistVal i j rowOffset ColOffset sigma))))
filter))
私は(gaussian 5 5 1)
を呼び出すと、私の出力は以下の通りです:
#2A((0.01831564 0.082085 0.13533528 0.082085 0.01831564)
(0.082085 0.36787945 0.60653067 0.36787945 0.082085)
(0.13533528 0.60653067 1.0 0.60653067 0.13533528)
(0.082085 0.36787945 0.60653067 0.36787945 0.082085)
(0.01831564 0.082085 0.13533528 0.082085 0.01831564))
私が取得したいのに対し:
#2A((0.0 0.1 0.1 0.1 0.0)
(0.0 0.4 0.6 0.4 0.1)
(0.1 0.6 1.0 0.6 0.1)
(0.0 0.4 0.6 0.4 0.1)
(0.0 0.1 0.1 0.1 0.0))
回答がある場合は、これらの「REPLのカスタマイズ」がどこにあるか教えてくださいエド?
(SBCL 1.2.11。のEmacs 25にスライム)
サイドノート:あなた 'loop'sが良いdotimes''として表現されるかもしれないが: '( – Svante
'(行の下にある0行目のループ... 'を使うことができます(' from 0'はオプションです) '(0〜( - rows 1)...)または'(あなたの境界の算術演算を絶対にしたい場合は) '(1行)の代わりに' ' – Vatine