Clojure 中的协议、数据类型与记录:实现灵活的抽象与数据处理
1. 扩展 gulp 和 expectorate 的支持类型
在处理输入输出时,我们可以通过更新 make-reader 和 make-writer 函数来为 gulp 和 expectorate 增加对更多源类型和目标类型的支持。一种方法是使用 cond 或 condp 语句来处理不同类型的输入。
1.1 make-reader 函数示例
(defn make-reader [src]
(-> (condp = (type src)
java.io.InputStream src
java.lang.String (FileInputStream. src)
java.io.File (FileInputStream. src)
java.net.Socket (.getInputStream src)
java.net.URL (if (= "file" (.getProtocol src))
(-> src .getPath FileInputStream.)
(.openStream sr
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



