能否向现有命名空间添加函数
可以添加一个全局名称空间,导入所有引用
clojure.lang.namespace cSpace=clojure-lang.Compiler.CurrentNamespace
cSpace。importClass(/*将所有cad内容导入到*/)
clojure.lang.Compiler.loadFile(item.Value.ToString())
或
clojure.lang.Compiler.loadFile(item.Value.ToString())
clojure.lang.Namespace cSpace=clojure-lang.Compiler.CurrentNamespace
cSpace。importClass(/*将所有cad内容导入到*/)<只是一个想法 我不是100%确定,但它们类似于JavaScript命名空间,因为它们只是一个名称,以避免符号表中的名称冲突。
我认为它们也像Java命名空间一样工作,因为名称可以引用文件夹和文件结构,以便在“需要”时使用它们,我将不得不进行实验。
例如(要求'(foo/bar/baz))会从foo的bar子文件夹中获取baz.clj文件。
我会看看那个,我想我会设置它,这样你就有一个“脚本”或“插件”文件夹,Clojure会搜索每个子文件夹并在启动时加载所有文件。
我的下一个任务是挂钩上一个REPL,这样你就可以输入代码并实时测试它,即时编辑和测试arx代码片段会很酷。我也想用一个简单的文本编辑器(如Notepadd++)连接它,但它最有可能一开始就使用emacs,因为emacs是Clojure在该领域最先进的之一。 再次回到它,这次需要更多的努力
,现在有了一个非常甜蜜的设置,现在有一个简单的文本编辑器,语法着色和括号匹配,在ScintillaNET代码编辑器控件的帮助下,这很酷。
我已经手工构建了repl,到目前为止,它已经完成了工作,但需要更多的工作才能使其不那么容易出错。
到目前为止,工作流程是在编辑器中编写一些代码,然后您可以选择它并将其发送到repl进行评估,然后将其加载到系统中。从那里,您可以在repl中调用函数,并在CAD编辑器中查看结果。您也可以在 repl 中键入相同的内容,但我主要使用它来调用我加载的函数。
它很好地处理了异常和语法错误,并且非常有用。
不过,真正特别的是,您可以使用repl开发您的应用程序进行测试和重构,无需重新启动CAD系统和netload,只需选择并加载修改后的函数并再次测试,非常甜蜜! 这很有趣。是否可以在此代码编辑器中使用断点和条件断点? 所以,这不是关于Clojure,但它对C#程序员来说可能很有趣:http://avalonedit.net/
页:
1
[2]