The BASIC 7月号/8月号(No.169,170)の「インターネットをとりまく言語入門」を読んだ人、私(古籏一浩)と松尾忠則氏の共著「今すぐ始めるJavaScript」のエラー一覧とよく似ていますが、私&松尾さんがペンネームで書いたわけではありません。まあ、エラー一覧は調べれば多分誰でも同じような具合になるだろうし、同じような対策になるから、よしとして問題は8月号掲載のプログラム(スクリプト/HTML)。
100ページのスクリプトは変数名と画像名を変えただけで私のスクリプトですね(笑)。問題は説明とスクリプトが、ばっちり間違って説明されている所です。次号でThe BASICもついに休刊ですし、この間違った説明をしている連載も8月号で終了という事で、多分フォローなしでしょう。仕方がないので私がちゃんと説明しておきます。
リスト9の49行〜52行は不要です。これは削除ミスでしょう。
次に表示のための白丸と黒丸の画像ファイル名が、「OFF.GIF」「1.GIF」では駄目です。必ず「0.GIF」「1.GIF」でないといけません。というのも排他的論理和を利用して画像ファイル名を設定しているためです。これがpnt = pnt ^ 1の部分なんですが。排他的論理和(XOR)を使った今回の場合、pntの値は「0と1」のどちらかにしかなりません。これに「.GIF」を連結したら当然「0.GIF」「1.GIF」にしかなりません。
さらに、この表示の切り替えを行う変数「pnt」をグローバルで定義しておらずs_p = 1という適当な異なる変数に変えられてしまっています。これではマウスクリックして表示する丸のオン、オフは正常に機能しません。29行目のpnt = pnt ^ 1ではなくs_p = s_p ^ 1としないと駄目ですね(^^;
101ページの右側上段のs_pの説明も間違っています。s_pを使っているのは色づけをするためじゃないでしょう、というのは上記説明の通り。その下の排他的論理和の説明も変です。おまけに「排他的論理輪」(笑) 輪が点滅しちゃいます(^^;;;
さらに、その下の説明function setPixelなどは別にオブジェクトの概念なんか不要です。ただの関数ですので(^^;;;;;;;
あと「マウスでドラッグ」して絵を書かれるのは困ります。Macだとドラッグしたら画像がドラッグされて移動しちゃいます。割とましな説明をホームページや「今すぐ始めるJavaScript」の方でも書いたつもりなのに、なぜこんなおかしな説明にされてしまうんでしょう(^^b
それよりも、参考文献も参考URLも何も掲載していないってのは、いただけません。どうも「今すぐ始めるJavaScript」から流用したような感じもするんですけどね〜。まだ未確認だけど・・・。スクリプトからして独自にというのはありえないよなあ。
上記の件を技術評論社に問い合わせた所、以下のような謝罪文が来ましたので掲載しておきます。そういえば一番最初に詳しくJavaScriptの記事を書いたのがThe BASICでした・・・
お詫び 本誌7,8月号の連載「インターネットをとりまく言語入門」記事中におきまして,古旗一浩氏のOpenSpaceホームページ中「JavaScript Library and Reference」の「ライブラリ 自動黒板」および「エラーとその対策」からの無断引用がありました.
このホームページの著者である古旗一浩氏,および関係者には大変ご迷惑をおかけしました.筆者の嘉賀雄一氏ともどもお詫びさせていただきます.
また,プログラム部分にもバグなどが見つかっておりまして,http://www.shiojiri.ne.jp/~openspc/JavaScript/TheBASIC.htmlにおきまして,古旗氏より訂正がなされております.同氏に感謝するとともに,改めてお詫びいたします.
編集部