2007年05月22日

超簡単! javascriptで漢字学習

面白そうなので、JavaScriptを基礎から勉強してみることにしました。
何が面白いかというと、命令文一つ勉強するだけで、すぐさまウェブで応用できるところです。(C言語とかだと「コンパイラ」とか環境を整えないと使えないし)

まずはこれ。
alert("");
これはメッセージボックスを出す命令文で、二つの引用符の間にメッセージの内容を書きます。
alert("俺はさすらいの日本語教師。");
とかくと「俺はさすらいの日本語教師。」という文字が入ったメッセージボックスが現れるわけですね。で、「OK」ボタンを押すと消えます。
alert("俺はさすらいの日本語教師。");
alert("俺はさすらいの日本語教師。");
alert("俺はさすらいの日本語教師。");
としつこく三回も書くと、三回「OK」を押さなければ消えてくれません。

で、日本語教育の現場でどう役に立つかというと、漢字を表示させてから、その読みを表示することによって、読みを自習する練習などが考えられますね。要するに、私が受験生だった頃に使った「単語カード」みたいなものです。ポケットに入るぐらいの紙が鉄の輪でまとめてあって、紙の表に日本語、裏に英語などを書いて、めくりながら勉強したものです。最近は、その電子版「メモリボ」なんかも売れているみたいですね。

単語カードは「自分で作るからこそ身に付く」という面もありますが、逆に「自分で作るのが面倒くさいから練習せずに、身につかない」というデメリットもあります。

自分で作るのがいい学生には、Javascriptのファイルを自分で作らせるのもいいでしょうし、そういう暇のない学生にはこちらで作ってメールで送ってやるのがいいと思います。

で、作り方なのですが、チョー簡単です。

まず最初に、漢字と、その読みのデータを作って、一行ごとに並べます。
例えばこんなふうに。
一日
ついたち
二日
ふつか
三日
みっか
四日
よっか
五日
いつか
六日
むいか
七日
なのか
八日
ようか
九日
ここのか
十日
とおか

で、それぞれの行の前に
alert("
をつけます。そうすると、こんな風になりますね。
alert("一日
alert("ついたち
alert("二日
alert("ふつか
alert("三日
alert("みっか
alert("四日
alert("よっか
alert("五日
alert("いつか
alert("六日
alert("むいか
alert("七日
alert("なのか
alert("八日
alert("ようか
alert("九日
alert("ここのか
alert("十日
alert("とおか

で、今度は、それぞれの行の後ろに
");
をつけます。
すると、こんな風になりますね。
alert("一日");
alert("ついたち");
alert("二日");
alert("ふつか");
alert("三日");
alert("みっか");
alert("四日");
alert("よっか");
alert("五日");
alert("いつか");
alert("六日");
alert("むいか");
alert("七日");
alert("なのか");
alert("八日");
alert("ようか");
alert("九日");
alert("ここのか");
alert("十日");
alert("とおか");

次に、それをこのファイルの「ここんとこ!」という文字列の下に流し込みます。あ、開くときはダブルクリックでなくて、テキストエディタで開いてください。テキストエディタはウィンドウズの人なら標準で「メモ帳」がついています。(「スタート」→「プログラム」→「アクセサリ」→「メモ帳」)

いったん保存して、今度はダブルクリックで開くと、多分インターネットエクスプローラーが起動すると思いますが、まず漢字が表示され、「ok」をクリックすると次に読みが表示されるという練習ができます。

ダウンロード用のファイルの中で私がきちんと理解しているのは、「alert();」の部分だけです。あとは呪文。

それだけで、こういう実用的なものができてしまうのが、おもしろいですね。

できた例は、ここにあります。
memoribo.html

・・・と、ここまでにしようかと思っていたのですが、そういえばこのブログって、私の教え子でもあるモンゴル人ITエンジニアも読んでいるんですよね。そう思ったら急に恥ずかしくなってきました。彼らに限らず、javascriptを知っている人が見ると、「こんな初歩的なことがよく書けるもんだ」と思うでしょうから(いや、まったくそれ以外の何物でもないんですが)、秀丸エディタを持っている人のために、上の作業を全部自動化するマクロも付け加えておきます。

最初に用意するのは、以下のような十行の練習文。
一日
ついたち
二日
ふつか
三日
みっか
四日
よっか
五日
いつか

ここで、以下のマクロ1とマクロ2を実行します。

マクロ1 iremono.MAC
マクロ2 alert.MAC

マクロを二つに分けたのは、長い練習を作りたい人もいるかもしれないからです。もし、最初の例では十行だった練習を二倍の二十行にするなら、マクロ2だけを二回実行します。三十行なら三回。

あとは、これをhtmlとして保存するだけ。これだけで、単語帳レベルの単調なものですが、とりあえず自習用のウェブページが完成します。もうちょっとレベルの高い人なら、練習がいくつあるか調べて、「alert」をその数だけ繰り返すということができると思うんですが、今の私にはまだ難しいので、もうちょっと後で挑戦します。

あ、「あと十行やりますか」とか聞いて、「YES」だったら同じ処理をさらに十回やるだけなら、今の私でも少しだけ頑張ればできるかもしれません。それならひとつのマクロで対応できるな。

さて、何でこんな初歩的なコードを書いているのかというと、こうしてアウトプットすることによって、自分の勉強が身につくからです。もちろん、こういうことを知らない人のために役に立てたら嬉しいという思いもありますが、基本的には自分のためです。

あ、それに、自分の専門のことだったらある程度の水準にならないと恥ずかしいですけど、まったく専門外なので恥ずかしくないという点もありますね。

まあ、そういう「アウトプットで身につける」ということを考え始めたのは、吉田新一郎さんの『効果10倍の教える技術』という本を読んでからなのですが、これに触れると長くなるので、また今度。


そうそう、落ちると恥ずかしいので黙っていましたが、初級シスアドの試験を受けていて、昨日めでたく合格証書をいただきました。

受験することをモンゴル人のエンジニアに言ったら「あー、アレは簡単ですからねー」とあっさり言われたのが思い出されます。彼らが闘っているのは、「ソフトウェア開発技術者試験」の中の、さらに「ネットワーク」とか「セキュリティ」とか専門化されたバトルフィールド。私が読んでもさっぱり分からない日本語の試験に、かつて私が日本語を教えたエンジニアたちが挑んでいるのかと思うと、感慨無量です。

と思いつつ、初級シスアドに合格したことで、多少なりとも彼らの世界に近づけたような、そんなゴキゲンな朝であります。
posted by 村上吉文 at 05:36 | Comment(1) | TrackBack(0) | 日本語hacks! | このエントリーをはてなブックマークに追加
この記事へのコメント
既存のソフトをフル活用するだけでなく
今度は作成! すごい!

Posted by ミ ト at 2007年05月26日 00:01
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック