相关疑难解决方法(0)

在Clojure中输入函数的提示

我正在尝试解决Clojure中的反射警告,这似乎是由于缺少对普通Java对象的函数返回值的类型推断.

演示此问题的简单示例代码:

(set! *warn-on-reflection* true)    

(defn foo [#^Integer x] (+ 3 x))

(.equals (foo 2) (foo 2))

=> Reflection warning, NO_SOURCE_PATH:10 - call to equals can't be resolved.
   true
Run Code Online (Sandbox Code Playgroud)

解决这个问题的最佳方法是什么?这可以用类型提示完成吗?

java reflection function clojure type-hinting

10
推荐指数
1
解决办法
5279
查看次数

Clojure类型提示语法

在"Programming Clojure"一书中(Halloway,S.,(2009).Program Clojure.Raleigh,NC:Pragmatic Bookshelf.)他使用语法显示了类型提示

(defn describe-class [#^Class c]
  ...)
Run Code Online (Sandbox Code Playgroud)

Clojure网站上,类型提示显示没有#阅读器宏:

(defn len2 [^String x]
  ...)
Run Code Online (Sandbox Code Playgroud)

哪个是对的?

types clojure

9
推荐指数
1
解决办法
1597
查看次数

标签 统计

clojure ×2

function ×1

java ×1

reflection ×1

type-hinting ×1

types ×1