📄 lispiterator.java
字号:
package net.sf.yacas;/** * class LispIterator works almost like LispPtr, but doesn't enforce * reference counting, so it should be slightly faster. This one * should be used in stead of LispPtr if you are going to traverse * a lisp expression in a non-destructive way. */class LispIterator { public LispIterator(LispPtr aPtr) { iPtr = aPtr; } public LispObject GetObject() { return iPtr.Get(); } public LispPtr Ptr() { return iPtr; } public void GoNext() throws Exception { LispError.Check(iPtr.Get() != null,LispError.KLispErrListNotLongEnough); iPtr = (iPtr.Get().Next()); } public void GoSub() throws Exception { LispError.Check(iPtr.Get() != null,LispError.KLispErrInvalidArg); LispError.Check(iPtr.Get().SubList() != null,LispError.KLispErrNotList); iPtr = iPtr.Get().SubList(); } LispPtr iPtr;};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -