表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
クワス (Quus)  作者: 宮沢弘
第四章: 対話: ヒトと計算機
17/25

4−2: 内省

 昼食から戻った私は、計算機の前の椅子に座り、食事中に思いついた一連の作業をした。


 不定期だが一週間を目途に行なっている、バックアップ。 “rsync” を使い、変更のあったファイル、あるいは新らしいファイルをバックアップ用ハードディスクにコピーをし、また作業用ハードディスクから消されているファイルは、そちらからも削除する。ほとんどは、システムやブラウザのキャッシュが対象となる。その部分についてはバックアップの対象とする必要はないのだが、どうせだからという程度のものとしてやっている。

「前に全体をバックアップしたのは……」流れていく画面を見ながら、別のコンソールを立ち上げ、別のバックアップのファイル群を表示した。それらは三週間前に行なっており、まだそちらのバックアップをする時期にはすこし早かった。これらのバックアップの二次バックアップを先に行なった時期も確認した。それらは二ヶ月ほど前であり、そろそろバックアップをしてもいい時期だった。

「X月Y日: 定期全バックアップ」

 私はジャケットから情報カードのホルダとボールペンを取り出すと、一週間後の日付でそう書き、そのカードをカード・ボックスに入れた。

 それらを行なっている間に、バックアップは終った。

 私は次に思いついていた作業に入った。エディタでファイルを開き、修正が必要と思われた文字列を置換すると、それをセーブした。

 ここからはすこし面倒な作業に入ることになる。足し算の概念を示すためのスクリプトを書く必要があった。 “sed” の全体のマニュアルには、もっと凝ったスクリプトが提示されているが、それは今必要とされている事柄の説明には複雑すぎた。それよりも単純なものが必要だった。機能が制限されているとしても、定めた仕様の範囲内においては正しく動作し、かつ足し算の過程そのものに、あるいは計算機による足し算の過程そのものに考えを巡らすことが可能なものが必要だった。

 “1” を “I” に。 “2” を “II” に。そのように置換し、かつ足される数、足す数は一桁に。追加として、 “0” は扱わない。これであれば、 “1 + 2” は “I + II” となり、あとは間にある “ + ” を削除すればいい。

「だけど、それじゃぁなぁ」スクリプトを書くためにエディタを立ち上げ、文字コード指定の部分、そして数字の置換の部分を書きながら思った。

 だが、それはさして難しいことでもなかった。スクリプトとしては無駄な処理になるが、右にある “I” を一つ、左の “I” の並びに移動する。それを右の “I” がなくなるまで繰り返せばいい。あとは結果の読み易さのために、“IIIII” を “V” に、 “IIIIIIIIII” を “X” に置換してやれば充分だろう。

 そのスクリプトをセーブすると、新にそのスクリプトに入力する足し算をいくつか書き、そしてセーブした。

「さてと……」

 私はコンソールにフォーカスを戻すと、スクリプトのテストを始めた。だが、返って来たのはエラーメッセージだった。

「あぁ、オプションは “-e” じゃなくて “-f” だったか。ファイルだからな」

 そう呟きながら、もう一度テストのために “sed” でスクリプトの実行を試みた。だが、それでも返って来たのはエラーメッセージだった。

「“無効な参照 \1”…… そうだっか?」

 私は “sed” のオンライン・マニュアルを確認した。正規表現の指定が必要だっただろうか。マニュアルを確認すると、該当しそうなのはその部分のように思えた。 “sed” でやればいいとは思ったものの、つまりは足し算そのものの機能を持たない環境だからこそ足し算の概念を示すのに使えるだろうとは思ったものの、 “sed” を使うのは一年ぶりくらいだったかもしれない。

 私は正規表現のオプションも指定して、スクリプトの実行を三度試みた。それはうまく動いたように思えた。私は出力の “I” の数、 “V” の数、 “X” の数を数えた。すくなくとも、ここでは意図のとおりに機能しているようだった。

 私はもう一度スクリプトを書いているエディタにフォーカスし、 “I” を右から左に移動するループを確認した。ブロックに入る箇所の、そしてブロックの中の “ +” という表記は、ここでは無駄だ。ループの前に “ +” という内容を “ ” にしておくほうがいい。ここは直すほうがいいだろうか。どうせループを使っている時点で無駄はある。なら、なぜこれを読む人をわざと混乱させるような、つまりは “+” という記号をわざと残しておいてはいけないのだろう。その混乱は、スクリプトを読む人の楽しみにもなるように思えた。それは、本来必要な混乱でも楽しみでもない。ただ、 “+” という、足し算と共通した記号だからという混乱であり楽しみでしかない。

「だったら、整理したスクリプトも用意しておけばいいだろう」

 私は情報カードに「整理したスクリプトも用意」と書き、その情報カードをカード・ボックスに入れた。


評価をするにはログインしてください。
この作品をシェア
Twitter LINEで送る
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ