- public static class MyClojureFuncs
- {
- static List loaded = new List();
- //(LoadClojure "C:\\Temp\\testcad.clj")
- [LispFunction("LoadClojure")]
- public static object LoadClojure(ResultBuffer args)
- {
- foreach (var item in args)
- {
- if ((LispDataType)item.TypeCode == LispDataType.Text)
- {
- loaded.Add(clojure.lang.Compiler.loadFile(item.Value.ToString()));
- }
- }
- return true;
- }
- //(CL "cljcad" "command1")
- [LispFunction("CL")]
- public static object CL(ResultBuffer args)
- {
- String func = String.Empty;
- String space = String.Empty;
- String result = String.Empty;
- List _args = new List(args.AsArray());
- if ((LispDataType)_args[0].TypeCode == LispDataType.Text)
- {
- space = _args[0].Value.ToString();
- }
- if ((LispDataType)_args[1].TypeCode == LispDataType.Text)
- {
- func = _args[1].Value.ToString();
- }
- var foo = clojure.lang.RT.var(space, func);
- object o = foo.invoke();
- return o.ToString();
- }
- }
:(LoadClojure"C:\\Temp\\testcad.clj")
T
:(CL"cljcad""命令1")
"简单的测试来查看clojure是否连接!" |