データ変換器のJavaScript版作りました

データ変換ページというのを作りました。大雑把に言うとデータ変換器JavaScript版です。データ変換器はソフト本体の他にActive Perl等のスクリプトを実行するソフトのインストールも必要でしたが、データ変換器はブラウザ上で動作するのでソフトのインストールは不要です。

とりあえず動く物を公開しましたという状態なのでここで簡単な説明をしておきます。何をやるかというと、指定されたデータに対して予め用意してあるスクリプトを実行して実行結果を取得するというサービスです。

Perl表技集でサンプルプログラムを書く時に"<"を"&lt;"にするというような変換をいくつかの文字に対して実施しますが、こういう処理をやってくれます。

使い方は簡単で、二つあるテキストエリアのうちの上のテキストエリアに変換したいデータを入力。真ん中にあるプルダウンから実行したい処理を選んで「変換実行」ボタンをクリック。そうすると下のテキストエリアに結果が表示されます。

スクリプトは実行時にサーバからダウンロードしています。こうすることで、仮に今後スクリプトが増えたとしても初期表示が重くなることがなくなりますし、スクリプトの追加作業自体が簡単になっています。スクリプトの利用者にも作成者にも嬉しい仕組みです。その代わり常時接続前提です。

スクリプトを見る」ボタンをクリックすると実行するスクリプトの内容を表示します。なのでどんな処理を実行するのかはこれで見て下さい。というので済ますわけにもいかないので、そのうちスクリプトの中にコメントで説明を埋め込んでおこうと思っています。

最後にそれぞれのスクリプトの説明をつらつらと。

3桁毎カンマ

例えば、1000を1,000に変換します。数字が4つ以上連続している場合に右から数えて3桁毎にカンマを挿入します。数字を見やすくしたい時に便利。数字だけのデータであればExcelを使うという手もありますが、こちらは数字以外が混ざっていても大丈夫です。

私はあまり使いません。

HTMLエスケープ

先ほど例に出したのはこれです。HTMLに文章やソースをそのまま貼り付けると一部の文字が表示されなくなったり、別の文字として表示されてしまうのでエスケープ処理を行います。

これはよく使います。今まではデータ変換器でやっていましたけど、これからはこちらを使おうと思っています。

エポック秒を時刻に変換

Linuxなんかを使っていると時刻情報をエポック秒で出してくれたりする人に優しくない奴が混ざっています。慣れた人だと大体の日時が分かるのでしょうけど私にはさっぱりなので、これを使って分かりやすい日時の表示に変換します。

たまに使うかも。

行番号付加

行の先頭に1からの連番を付けます。説明用にスクリプトを文書に入れる時に行番号が欲しい場合があるので、そんな時はこれを使います。

データ変換器を使っていましたけど、今後はこちらを使うつもり。

計算

数式を入れると計算してくれます。簡単な計算だったら電卓でもExcelでもできるので出番は少ないです。「r = 10; Math.PI * r * r」だとか「Math.floor((new Date).getTime() / 1000)」というのも実行できるので、JavaScriptが得意な人には嬉しいかも。

会社だったらExcelを使うし、自宅だったらデータ変換器を使ってPerlで書くので、あまり使わないでしょう。

最大公約数

二つの数字を入れると最大公約数を求めます。数字は空白かカンマで区切って下さい。

これは使いません。最大公約数を求めたい場面なんてまず出てきません。arguments.calleeを使いたかっただけです。無名関数で自分自身を呼び出したくなった時に使うのなんだっけ? となった時に見に来る用です。