>
http://kmaebashi.com/programmer/devlang/index.html
>のページに、最新版への配布ページへのリンクがあると、
>多少はこういう間違いが減るかもしれません…
一応つけました。
ただ、crowbarはまだいろいろな意味で未完成品なので、
いかにもな「ダウンロードページ」はまだ作りたくないところです。
ver.0.3.01の修正でkitさんのプログラムが動くようになりましたので、
動いたものを貼っておきます。
function ArrayIterator(anArray) {
this = new_object();
index = 0;
this.first = closure() { index = 0; };
this.next = closure() { index++; };
this.isDone = closure() { return index >= anArray.size(); };
this.currentItem = closure() { return anArray[index]; };
return this;
}
function compare(i, j) {
for (; !i.isDone() && !j.isDone(); i.next(), j.next()) {
if (i.currentItem() < j.currentItem()) {
return -1;
}
if (i.currentItem() > j.currentItem()) {
return 1;
}
}
if (i.isDone() && j.isDone()) {
return 0;
}
if (i.isDone()) {
return -1;
} else {
return 1;
}
}
a = {1, 2, 3, 4, 5, 6, 7, 8};
b = {1, 2, 3, 4, 5, 6, 7, 9};
print("compare.." + compare(ArrayIterator(a), ArrayIterator(b)) + "\n");
for (i = ArrayIterator(a); !i.isDone(); i.next()) {
print("" + i.currentItem() + " ");
}
print("\n");