当我尝试在 IOKE shell 中执行代码时,它崩溃了。
>ioke
iik> "Hello World" println
Exception in thread "main" java.lang.NullPointerException
at ioke.lang.IokeIO$2.activate(IokeIO.java:129)
at ioke.lang.TypeCheckingNativeMethod.activate(TypeCheckingNativeMethod.java:50)
at ioke.lang.IokeObject.activate(IokeObject.java:1053)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:1038)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:514)
at ioke.lang.IokeObject.perform(IokeObject.java:659)
at ioke.lang.IokeObject.perform(IokeObject.java:592)
at ioke.lang.IokeObject.perform(IokeObject.java:522)
at ioke.lang.Message.sendTo(Message.java:999)
at ioke.lang.Message.evaluateCompleteWithoutExplicitReceiver(Message.java:1145)
at ioke.lang.Message.getEvaluatedArgument(Message.java:979)
at ioke.lang.Message.getEvaluatedArgument(Message.java:983)
at ioke.lang.FlowControlBehavior$9.activate(FlowControlBehavior.java:379)
at ioke.lang.IokeObject.activate(IokeObject.java:1053)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:1038)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:514)
at ioke.lang.IokeObject.perform(IokeObject.java:659)
at ioke.lang.IokeObject.perform(IokeObject.java:592)
at ioke.lang.IokeObject.perform(IokeObject.java:522)
at ioke.lang.Locals$1.activate(Locals.java:63)
at ioke.lang.IokeObject.activate(IokeObject.java:1053)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:1038)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:514)
at ioke.lang.IokeObject.perform(IokeObject.java:659)
at ioke.lang.IokeObject.perform(IokeObject.java:592)
at ioke.lang.IokeObject.perform(IokeObject.java:522)
at ioke.lang.Message.sendTo(Message.java:999)
at ioke.lang.Message.evaluateCompleteWith(Message.java:1093)
at ioke.lang.LexicalBlock.activate(LexicalBlock.java:198)
at ioke.lang.IokeObject.activate(IokeObject.java:1053)
at ioke.lang.LexicalBlock$2.activate(LexicalBlock.java:86)
at ioke.lang.IokeObject.activate(IokeObject.java:1053)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:1038)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:514)
at ioke.lang.IokeObject.perform(IokeObject.java:659)
at ioke.lang.IokeObject.perform(IokeObject.java:592)
at ioke.lang.IokeObject.perform(IokeObject.java:522)
at ioke.lang.Message.sendTo(Message.java:1011)
at ioke.lang.FileSystem$7.activate(FileSystem.java:308)
at ioke.lang.IokeObject.activate(IokeObject.java:1053)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:1038)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:514)
at ioke.lang.IokeObject.perform(IokeObject.java:659)
at ioke.lang.IokeObject.perform(IokeObject.java:592)
at ioke.lang.IokeObject.perform(IokeObject.java:522)
at ioke.lang.Message.sendTo(Message.java:999)
at ioke.lang.Message.evaluateCompleteWithoutExplicitReceiver(Message.java:1145)
at ioke.lang.ConditionsBehavior$4.activate(ConditionsBehavior.java:342)
at ioke.lang.IokeObject.activate(IokeObject.java:1053)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:1038)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:514)
at ioke.lang.IokeObject.perform(IokeObject.java:659)
at ioke.lang.IokeObject.perform(IokeObject.java:592)
at ioke.lang.IokeObject.perform(IokeObject.java:522)
at ioke.lang.Locals$1.activate(Locals.java:63)
at ioke.lang.IokeObject.activate(IokeObject.java:1053)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:1038)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:514)
at ioke.lang.IokeObject.perform(IokeObject.java:659)
at ioke.lang.IokeObject.perform(IokeObject.java:592)
at ioke.lang.IokeObject.perform(IokeObject.java:522)
at ioke.lang.Message.sendTo(Message.java:999)
at ioke.lang.Message.evaluateCompleteWithoutExplicitReceiver(Message.java:1145)
at ioke.lang.Message.getEvaluatedArgument(Message.java:979)
at ioke.lang.Message.getEvaluatedArgument(Message.java:983)
at ioke.lang.FlowControlBehavior$7.activate(FlowControlBehavior.java:298)
at ioke.lang.IokeObject.activate(IokeObject.java:1053)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:1038)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:514)
at ioke.lang.IokeObject.perform(IokeObject.java:659)
at ioke.lang.IokeObject.perform(IokeObject.java:592)
at ioke.lang.IokeObject.perform(IokeObject.java:522)
at ioke.lang.Locals$1.activate(Locals.java:63)
at ioke.lang.IokeObject.activate(IokeObject.java:1053)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:1038)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:514)
at ioke.lang.IokeObject.perform(IokeObject.java:659)
at ioke.lang.IokeObject.perform(IokeObject.java:592)
at ioke.lang.IokeObject.perform(IokeObject.java:522)
at ioke.lang.Message.sendTo(Message.java:999)
at ioke.lang.Message.evaluateCompleteWithoutExplicitReceiver(Message.java:1145)
at ioke.lang.ConditionsBehavior$4.activate(ConditionsBehavior.java:342)
at ioke.lang.IokeObject.activate(IokeObject.java:1053)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:1038)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:514)
at ioke.lang.IokeObject.perform(IokeObject.java:659)
at ioke.lang.IokeObject.perform(IokeObject.java:592)
at ioke.lang.IokeObject.perform(IokeObject.java:522)
at ioke.lang.Locals$1.activate(Locals.java:63)
at ioke.lang.IokeObject.activate(IokeObject.java:1053)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:1038)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:514)
at ioke.lang.IokeObject.perform(IokeObject.java:659)
at ioke.lang.IokeObject.perform(IokeObject.java:592)
at ioke.lang.IokeObject.perform(IokeObject.java:522)
at ioke.lang.Message.sendTo(Message.java:999)
at ioke.lang.Message.evaluateCompleteWith(Message.java:1093)
at ioke.lang.DefaultMethod.activate(DefaultMethod.java:283)
at ioke.lang.IokeObject.activate(IokeObject.java:1053)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:1038)
at ioke.lang.IokeObject.getOrActivate(IokeObject.java:514)
at ioke.lang.IokeObject.perform(IokeObject.java:659)
at ioke.lang.IokeObject.perform(IokeObject.java:592)
at ioke.lang.IokeObject.perform(IokeObject.java:522)
at ioke.lang.Message.sendTo(Message.java:999)
at ioke.lang.Message.evaluateComplete(Message.java:1066)
at ioke.lang.Runtime.evaluateString(Runtime.java:525)
at ioke.lang.Main.main(M
ain.java:149)
是什么导致这个错误?我使用的是 Windows 10,我的 IOKE_HOME 和 JAVA_HOME 环境变量已设置(否则 REPL 将不会首先被调用)。任何帮助将不胜感激。