-
-
Save michalmarczyk/381686 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package mypkg; | |
public class Ugly { | |
public Ugly(){} | |
public String foo(boolean i) { return "bool: " + i; } | |
public String foo(Object o) { return "obj: " + o; } | |
} | |
user> (def u (foo.TestInterop2.)) | |
#'user/u | |
;;; and obviously... | |
user> (let [t u] | |
(.foo t (boolean true))) | |
"obj: true" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(.foo (mypkg.Ugly.) 5) | |
;=> "obj: 5" | |
(.foo (mypkg.Ugly.) true) | |
;=> "obj: true" | |
(.foo (mypkg.Ugly.) (boolean true)) | |
;=> "bool: true" | |
(def u (mypkg.Ugly.)) | |
(.foo u (boolean true)) | |
;=> "obj: true" | |
(.foo #^mypkg.Ugly u (boolean true)) | |
;=> "bool: true" | |
;; renamed mypkg.Ugly to foo.TestInterop2 when doing my tests | |
user> (let [t (foo.TestInterop2.)] | |
(.foo t (boolean true))) | |
"bool: true" | |
;;; type-hinting the Var | |
user> (def #^foo.TestInterop2 x (foo.TestInterop2.)) | |
#'user/x | |
user> (.foo x (boolean true)) | |
"bool: true" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment