gpt4 book ai didi

java - 如何将 GEVA 集成到 Clojure 中

转载 作者:行者123 更新时间:2023-11-30 07:36:16 26 4
gpt4 key购买 nike

我同时接触 Clojure 和语法进化并发现了 GEVA ,这是一个用 Java 编写的 GE 工具。我没有Java背景。所以我不必重新发明轮子,如何将 GEVA 集成到 Clojure 中?

我可以从 CLI 执行默认脚本: java -jar GEVA.jar -main_class Main.Run

GEVA 源目录包含以下子目录,其中包含以目录命名的包:算法 com Exceptions FitnessEvaluation Fractal Individuals Main Mapper Operator Parameter UI Util

Main 子目录包含以下文件和教程子目录:AbstractRun.java Experiment.java Run.java State.java 教程

以下类在 Run.java 文件中: 公共(public)类 Run 扩展了 AbstractRun 公共(public)运行() 公共(public)无效实验(字符串[]参数) 公共(public)无效设置(字符串[]参数) 私有(private)无效 setSeed() public static void main(String[] args)

据我所知,Main.Run 类中的静态方法“main”是我想要执行的。但是,当我尝试按照 Java 互操作说明进行操作时,我遇到了错误。

clgeva.test=> (.Main.Run/main)
java.lang.Exception: No such namespace: .Main.Run (NO_SOURCE_FILE:5)
clgeva.test=> (.Main.Run/main "")
java.lang.Exception: No such namespace: .Main.Run (NO_SOURCE_FILE:6)

我显然没有正确导入命名空间来运行主函数。

user=> (import Main)
java.lang.ClassNotFoundException: Main (NO_SOURCE_FILE:1)
user=> (import Main.Run)
Main.Run
user=> (main)
java.lang.Exception: Unable to resolve symbol: main in this context (NO_SOURCE_FILE:3)
user=> (.Main.Run/main)
java.lang.Exception: No such namespace: .Main.Run (NO_SOURCE_FILE:4)

我到底做错了什么?我确信我只是遗漏了一些明显的东西,但我已经为此苦苦思索了一段时间,需要一些指导。谢谢。

最佳答案

首先,确保您正确加载 GEVA 库 - 参见 http://clojure.org/libs我猜测,从 java.lang.ClassNotFoundException 错误来看,GEVA 不在您的类路径中。

那么您想要查看 Java 互操作的 Clojure 文档:http://clojure.org/java_interop

关于java - 如何将 GEVA 集成到 Clojure 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3715120/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com