R版slコマンド sl

ソースファイル:sl
webから直接読み込む場合、以下のコードをRで実行
source("http://noucobi.com/Rsource/sl.R")

ふと久しぶりにslが見たくなったので、作ってしまいました。
slコマンドです。
いまは若干反省していなくもない。

Rのコンソールでは同じ行に上書きしたりできないので(実はできたりするんだろうか…わたしは知らないけど)、グラフィックウィンドウで実装
かつてのslコマンド同様の気分で使えるよう、わざわざsl()としなくてもslと打つだけでSLが走ります。




■補足説明■

Unix系のOSのターミナルには、lsというコマンドがあります。
WindowsのDOSにおけるdirにあたるもので、カレントディレクトリのファイルを一覧する関数です。
むかしのCUIのOSでは、いちいちこの関数を使ってフォルダ内にあるファイルの名前を調べるので、もっとも使用頻度の高いコマンドのひとつでした。

で、この「ls」、おそらく"list"の略なのでしょうが、ときどき右手と左手の順が逆になって「sl」と押してしまうことがあります。
そういう場合、フツーなら
「そんなコマンドはねえ」
と怒られてしまうのですが。
ホントにslというコマンドが用意されていれば、それが実行されることになります。

ここに発想を得て尊き先人がつくりあげたのが、世に言う「slコマンド」
このプログラムが実行されると、ターミナル上を颯爽と(?)SLが走り抜けていきます。
要するにlsを打ち間違うとslになる、というコトに着目したジョークプログラム
作業中にlsをしようとしてあせって打ち間違うと、機関車が通り過ぎるのを待たされることになるわけです。
我が大学の情報端末室のコンピュータにはなぜかこのslコマンドが仕組んであったので、わたしも学部生のころ、情報科学の実習でUnix使ってるときには、ときおり機関車を走らせていたものです。
(わざわざ派生版の、機関車が天に昇っていくバージョンとかまで入れてあった。全端末に。)
(情報学関連のひとって、こういう謎のノリの良さがあったりして好き。)

んで、
「Rにもls()って関数があるんだから、slコマンドも要るんじゃね!?」
という謎の義務感にかられて、つくってみました。
ま、あとで気付いたけど、Rではls()のはたらき違うよな…
(Unixでいうところのlsは、Rではlist.files()ですね。。。)

とりあえずコンソールでslとだけ打つと、SLが走ります。
もちろんsl()としてもOK
引数に数値をあたえると、1コマあたりの呈示時間をかえられます。
あんまり短いと、内部のSys.sleep()や画面の描画がうまく利いてくれないようですが。(0.1秒以上推奨?)

ちなみに走ってるあいだは、グラフィックウィンドウを閉じてもゾンビのように復活します(笑)
これぞジョークプログラムwww
走りゆく機関車をみながらひとやすみしてください。
さすがにEscでは止まりますが。
本家のslコマンドは、たしかC-cでも止められなかった気がするので、それよりは良心的ということで。

それからこちらが、最初にslコマンドを作られたという豊田正史氏のサイトです。
とりあえずSLが見てみたいというひとは、こちらのyager氏のブログにJavaScript版があります。
ウチにも置かせてもらおう…
今回のsl.RにおけるSLのテキストは、yager氏のページのJavaScriptソースから拝借させていただきました。
ブラウザでもslがみられるというのは、なんとも感動(的にしょーもない)ですので、ぜひ一度お立ち寄りください。


■更新履歴■

09.05.02 ver.1.00
公開