来自 OOP 背景,我对 Clojure 中推荐的 API 设计方式有疑问。例如,在 OOP 语言(此处为 Python)中,为了使用一些 API,我会这样做:
api = someWebService()
api.setWriteApiKey(WRITE_API_KEY)
api.sampleloadSong('file.mp3')
在上面的示例中,我设置了一次 API 密钥并一次又一次地调用关联的方法,而没有再次传递 API 密钥。在 Clojure 或任何其他 LISP 语言系列中推荐的方法是什么?
我是否需要像这样在每个函数调用中传递密钥:
(sampleloadSong "WRITE_API_KEY" "file.mp3")
或者有没有其他更好的方法。