2024年Clojure状态调查!中分享您的想法。

欢迎!请参阅关于页面以获得更多有关如何工作的信息。

0
Java Interop

在邮件列表中提出: https://groups.google.com/forum/#!topic/clojure/3yGjDO2YnjQ

无法在case语句中使用Java常量。在这种情况下可以改用condp = ,但这些是可以在Java switch语句中使用的,因此放弃常量派发有点费劲。例如:

(case (.getActionMasked event)
MotionEvent/ACTION_POINTER_DOWN :down
MotionEvent/ACTION_UP :up
MotionEvent/ACTION_POINTER_UP :up
MotionEvent/ACTION_MOVE :move
MotionEvent/ACTION_CANCEL :cancel
MotionEvent/ACTION_OUTSIDE :outside
:none))

不起作用,但没有任何理由不能在编译时解决并在常量时间内派发。

2 个回答

0

评论者:bendlas

针对此问题的另一种解决方案:http://dev.clojure.org/jira/browse/CLJ-1368

0
参考: https://clojure.atlassian.net/browse/CLJ-1367 (报告者:adamclements)
...