Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- => (defmacro vararg
- [method object & args]
- (let [[regular [_ t & variable]] (split-with #(not= % '|) args)]
- `(. ~object ~method ~@regular (into-array ~t ~(vec variable)))))
- #'user/vararg
- => (macroexpand-1 '(vararg get java.nio.file.Paths "foo" | String "bar" "baz"))
- (. java.nio.file.Paths get "foo" (clojure.core/into-array String ["bar" "baz"]))
- => (vararg get java.nio.file.Paths "foo" | String "bar" "baz")
- #object[sun.nio.fs.UnixPath 0x14ebb640 "foo/bar/baz"]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement