小编Kin*_*aro的帖子

如何键入提示数组?

我有以下记录:

(defrecord Signal [samples ^double sample-rate ^double scaling-factor])
Run Code Online (Sandbox Code Playgroud)

如何指定samples为双数组?

我正在使用clojure 1.2.0

编辑:

@dreish当我(show Signal)从levand更改后调用时,我得到以下输出:

[35] <init> (Object,double,double)
[36] <init> (Object,double,double,Object,Object)
[37] __extmap : Object
[38] __meta : Object
[39] sample_rate : double
[40] samples : Object
[41] scaling_factor : double
Run Code Online (Sandbox Code Playgroud)

我知道暗示非原始类型只是用来避免反射.来自http://clojure.org/datatypes

  • 请注意,目前非基本类型的类型提示不会用于约束字段类型和构造函数arg,但将用于优化其在类方法中的使用

谢谢大家!

clojure type-hinting

17
推荐指数
2
解决办法
3330
查看次数

'lein jar'和'lein uberjar'没有正确设置大班

我跑lein uberjar了我的项目,它创建了相应的jar文件.当我运行jar时,ClassNotFoundException: explodingdots.core会抛出一个.我指定explodingdot.core为我的主要课程.我解压缩了jar文件,确实没有core.class在相应的目录中.我忘记了什么?

我有以下代码 src/explodingdots/core.clj

(ns explodingdots.core  
 (:import (java.awt Color Dimension Graphics2D AlphaComposite RenderingHints)
          (java.awt.event ActionListener MouseAdapter WindowAdapter)
          (javax.swing Timer JPanel JFrame))
  (:gen-class))

[ ... ]

(defn -init[] exploding-dots)
(defn -main[_]
  (let [ed (new explodingdots.core)]
    (.init ed)))

我的内容project.clj是:

(defproject explodingdots "0.1"
  :dependencies [[org.clojure/clojure "1.2.0"]
                 [org.clojure/clojure-contrib "1.2.0"]]
  :main explodingdots.core)

注意:我正在使用leiningen 1.3.1

jar clojure leiningen

4
推荐指数
1
解决办法
3663
查看次数

标签 统计

clojure ×2

jar ×1

leiningen ×1

type-hinting ×1