Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以使用main方法创建clojure类型?(使用deftype,而不是gen类)_Clojure - Fatal编程技术网

是否可以使用main方法创建clojure类型?(使用deftype,而不是gen类)

是否可以使用main方法创建clojure类型?(使用deftype,而不是gen类),clojure,Clojure,我所看到的clojure中定义的主要方法的示例都使用gen类以及(defn-main…)。是否可以使用deftype定义具有可执行主方法的类?这是不可能的,因为deftype可以实现的接口(协议)不能有静态方法。主方法只有在AOT编译(使用gen类或类似类)时才有意义 如果您试图以任何其他方式定义它,那么就不可能使用它,因为您需要首先启动clojure编译器/环境。因此,您必须通过调用其他一些main()方法来启动应用程序

我所看到的clojure中定义的主要方法的示例都使用gen类以及(defn-main…)。是否可以使用deftype定义具有可执行主方法的类?

这是不可能的,因为deftype可以实现的接口(协议)不能有静态方法。

主方法只有在AOT编译(使用gen类或类似类)时才有意义

如果您试图以任何其他方式定义它,那么就不可能使用它,因为您需要首先启动clojure编译器/环境。因此,您必须通过调用其他一些main()方法来启动应用程序