lispiterator.java
来自「计算机代数系统」· Java 代码 · 共 37 行
JAVA
37 行
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 + =
减小字号Ctrl + -
显示快捷键?