07/04/24 22:01:04
なんかしらんけど、俺が言いたかったのはこういうことでした。
var exp = function() {
var m;
if(m=str.match(/^[0-9]+/)) {
str = str.substring(m[0].length);
return m[0];
}
throw "error";
};
parse("1+2");
で1が戻るようなもので
var fact = exp;
exp = function() {
var c = fact(); var m;
while(m = str.match(/^\+/)|| m =str.match(/^\-/)) {
str = str.substring(m[0].length);
c = [m[0],c,fact()];
}
return c;
};
alert(parse("1+2"));
で、["+",1,2]がかえるように出来るというかんじ。
URLリンク(f38.aaa.livedoor.jp)
実際動くのはこんな感じ。