2
我正在與一些二進制格式的Clojure,它是有意義的,檢查十六進制格式的數字(0x10
)。我如何配置Clojure以十六進制呈現數字,默認情況下?這在REPL中可能與我最相關,但我也對更一般的機制感興趣。如何在Clojure中設置默認數字格式?
我正在與一些二進制格式的Clojure,它是有意義的,檢查十六進制格式的數字(0x10
)。我如何配置Clojure以十六進制呈現數字,默認情況下?這在REPL中可能與我最相關,但我也對更一般的機制感興趣。如何在Clojure中設置默認數字格式?
Clojure使用多種方法打印數據:print-method
(旨在提供輸出供人讀取)和print-dup
(產生可以通過讀取進行分析的輸出)。
因此,對於REPL,你可以簡單地提供您的打印方法的實施java.lang.Number
就像下面的REPL會話:
123
=> 123
(prn 123)
123
=> 123
(defmethod print-method Number
[n ^java.io.Writer w]
(.write w (format "0x%X" n)))
=> #object[clojure.lang.MultiFn 0x52ad430a "[email protected]"]
123
=> 0x7B
(prn 123)
0x7B
=> nil
這個完美的作品,包括蘋果酒會話中。謝謝! –