我有一個像在地圖列表比較值的Clojure
(def listofmaps
({:directory_path "/some/path/1", :directory_size "8.49 GB"} {:directory_path "/user/dod/yieldbook/yb_sec_char", :directory_size "14.1 MB"})
包含許多值和大小可在GB或MB的地圖列表。
我也有一個像limitlistofmaps
(def limitlistofmaps
({:directory_path "/some/path/8", :directory_size "15.2 GB"} {:directory_path "some/path/3", :directory_size "2.1 GB"}
{:directory_path "/some/path/1", :directory_size "17.2 GB"})
許多價值..
我需要打印「超限」如果在地圖列表中的任意地圖有相同的:目錄路徑在limitlistofmaps但:directory_size超出指定的值。問題是大小是字符串格式,必須考慮單位。
你能幫我一個辦法在clojure做到這一點?
你能告訴我們你嘗試過這麼遠嗎? – OlegTheCat
您可以使用像http://clojuredocs.org/clojure.core/re-seq這樣的正則表達式從大小字符串中提取數字和單位,然後使用parseDouble解析數字:https://docs.oracle.com/ JavaSE的/ 8 /文檔/ API /爪哇/郎/ Double.html#parseDouble-java.lang.String- –