+ JavaScript の質問用スレッド vol.95 +at HP
+ JavaScript の質問用スレッド vol.95 + - 暇つぶし2ch328:Name_Not_Found
12/01/09 21:30:39.83
盛り上がってるね。数式のパース書いてみたけど。個人的にはちゃんと
チェックできる奴が分かっていて使うeval()は必要悪、みたいに思う。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN">
<html><head><title>???</title>
<script type="text/javascript">
var s = '1+2';
function exp() {
var v = term();
while(s.match(/^[+-]/)) {
if(s.match(/^[+]/)) { s = s.substring(1); w = exp(); v += w; }
else { s = s.substring(1); w = exp(); v -= w; } }
if(s.match(/./) && !s.match(/^[)]/)) throw 'syntax'; else return v;
}
function term() {
var v = fact();
while(s.match(/^[*/]/)) {
if(s.match(/^[*]/)) { s = s.substring(1); w = term(); v *= w; }
else { s = s.substring(1); w = term(); v /= w; } }
if(s.match(/./) && !s.match(/^[-+)]/)) throw 'syntax'; else return v;
}
つづく(2レスなのでご容赦を)


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch