% Variable *READ-BASE*
Variable *READ-BASE*
基数
10
readによる整数かratioとしてのトークンの解釈を制御します。
*read-base*の値は現在の入力基数と呼ばれ、
Lispリーダーによって読み込まれる整数とratioの基数になります。
他の数の型である(例えばfloat)の構文解析には
このオプションによる影響はありません。
特定の有理数の読み込み時における*read-base*の効果は、
明示的に#O, #X, #B, #nRの構文か、
あるいは末尾の小数点によって局所的に上書きすることができます。
(dotimes (i 6)
(let ((*read-base* (+ 10. i)))
(let ((object (read-from-string "(\\DAD DAD |BEE| BEE 123. 123)")))
(print (list *read-base* object)))))
>> (10 (DAD DAD BEE BEE 123 123))
>> (11 (DAD DAD BEE BEE 123 146))
>> (12 (DAD DAD BEE BEE 123 171))
>> (13 (DAD DAD BEE BEE 123 198))
>> (14 (DAD 2701 BEE BEE 123 227))
>> (15 (DAD 3088 BEE 2699 123 258))
=> NIL
なし。
なし。
入力の基数の変更は、 特定のフォーマットに対するデータファイルを読み込むときに便利です。