2020-03-05-01-ワンタイムコマンドってエイリアスだと気付いた - project-enigma

2020-03-05-01-ワンタイムコマンドってエイリアスだと気付いた

>> Site top >> weblog >> 月別アーカイブ >> 2020年03月のlog >> 2020-03-05-01-ワンタイムコマンドってエイリアスだと気付いた

最終更新日付:2020/03/05 01:00:00


ワンタイムコマンドってエイリアスだと気付いた

2020 年 03 月 05 日

唐突に気付いた。どうして今まで気付かなかったのかわからない。fist のワンタイムコマンドって、「アドホックなエイリアス」なんだな。それで何か変わるワケじゃないけど、リファクタリングのネタにはなるかもしれない。

ワンタイムコマンドは fist の機能のひとつで、何かコマンドを実行した結果として一時的に有効になる、ショートカット的なコマンドのことだ。たとえば、describe コマンドは指定したデータのプロパティ情報を出力するが、これによって v, e という2つのワンタイムコマンドが有効になる。これらは、直前に describe したデータを view または edit するものだ。

ワンタイムコマンドは1〜2文字という短さで、寿命もまた短い。他のコマンドが実行されると、それまでのが無効になるからだ。特別な理由がある一部のコマンドだけが、ワンタイムコマンドを無効にしない。ワンタイムコマンドはそれほど数が多いワケではないが、fist をできるだけ快適に、少ない打鍵量で使えるように用意されている。

一方で、エイリアスは基本的には UNIX 系の世界の alias と同じものだ。alias dt 'day tomorrow' とすれば、エイリアス dt が登録され、その実行は day tomorrow と入力したのと同じになる。

で、話を最初に戻す。前述のワンタイムコマンド、これが実質的に「アドホックなエイリアス」だという件だ。つまり、describe コマンドの実行によって登録される e, v といったワンタイムコマンドは、実質的に alias e 'edit *1' と同じこと(*1 は最後に使ったデータを意味するショートカット)で、有効期限があることを除けばエイリアスそのものだったということだ。

正直なところ、上のように書いてしまうと「そりゃそうだよね」としか言いようがないのたけれど、自分は今の今まで気づかなかった。そして最初に書いた通り、この気付きによって何かが変わるワケじゃない。でも、これまで個別に実装されてたものをリファクタリングして統合することは考えてる。

‥‥‥上記はこれまた1週間くらい前に書いていたもので、今は実際にリファクタリングと機能追加に勤しんでいる。継続行の対応もどうにか終わった(っぽい)のでコレに着手したのだけど、やっていると今度は「ワンタイムインデックスってアドホックなリンクなんじゃね?」と気付く流れに流されている。どうしようかな。

 

コメント

このページにコメントする

 

このページのタグ

Page tag : fist

 

 


Copyright(C) 2005-2020 project-enigma.
Generated by CL-PREFAB.