作品

一般テキストからテンプレートマッチングで項目を一覧表形式で抽出するJSコード (パターンの繰り返しから正規表現で連続キャプチャ)

もし,文字列がデータ構造を持っていれば,パースは容易だ。たとえば: DOM XML CSV JSON これらはいずれもテキストが持つデータ構造であり,項目を抽出するのがきわめて容易。 しかし,データ構造を持たないようなテキストもある。 そういうテキストから,…

JavaScriptで,文字列の差分(diff)をブラウザ上でグラフィカルに可視化するコード

JavaScriptで,文字列のdiff差分を計算するコード。 テキストベースおよびグラフィカルの両方で,差分を明示する。 上の画像のような出力を得られる。 前回のコードを改良したもの。 JavaScriptで,文字列のdiff差分を計算するコード。アルゴリズムは動的計…

JavaScriptで,文字列のdiff差分を計算するコード。アルゴリズムは動的計画法

2つの文字列を比較して,動的計画法によりdiffを生成するJavaScriptコード。 コード

整数問題を解くJSコード: 2^n−1が31で割り切れるようなケースを列挙する

JavaScriptで整数問題を解き,自然数を探索してみよう。 問題: 2^n - 1 が31で割り切れるのは,どのような場合か? 出典: 【シンプル整数難問】ある数で割りきれる条件 - 短くて面白い数学の問題コレクション 〜シンプルな難問〜 http://d.hatena.ne.jp/Su…

JavaScriptで2のべき乗を計算し,大きい数の場合に数値表現と文字列表現の食い違いをリストアップする実験コード

JavaScriptで大きな整数を計算すると,ある時点で不正確になる。 具体的にどのように不正確になるのだろうか? 2のべき乗を100乗まで求めて,実験してみよう。 動作デモ: JavaScriptで2のべき乗のリストアップ http://sourcecode-student.study-tips.in…

2ちゃんねるのスレッドから全レスをtable形式で抽出するJavaScriptコード

Firebugで動作する。 スレッドをブラウザ(firefox)で開いて,コンソールで実行すればよい。 var rescnt = 1; var table_src = $x("//dl[@class='thread']/dd").reduce(function( ret, i ){ ret += "<tr><td>" + rescnt + "</td><td>" + i.innerHTML.replace(/<a [^>]*>([^<]*)<\/a</a></td></tr>…

与えられた任意の「覆面算」を自動的に解くJavaScriptプログラム

覆面算を総当り法で解くコード。 サンプルの計算式は,abc - cb1 = 100 というもの。書き換え可能。 計算式を入力:<br> <textarea id="formula" cols="60" rows="10"> // 1-9の間をとる数の個数 head_num = 2; // 0-9の間をとる数の個数 body_num = 1; // 数が満たすべき関係式 target_func = function ( a,</textarea>…