«前の日記(2005-06-06) 最新 次の日記(2005-06-08)» 編集

Matzにっき


2005-06-07 [長年日記]

_ [OSS] 国内初のオープンソースCRMとFAQ管理システム,ネットワーク応用通信研究所が無償公開

おおっ、プレスが出ている。先日、取材されたって言ってたのはこれか。

ま、そんな感じです。

これを作っている人は純粋に業務としてオープンソースソフトウェアを開発しているので、 オープンソースとしては新しい形に開発スタイルと言えないことは無いだろう。 ま、最初の一歩としては上出来では(自画自賛)。

まだ成長途上だけど、これが広く使われるようなツールになるといいなあ。

_ [Ruby] ブロックターミネータ

Rubyがブロックの終端に採用している「end」はRubyのコードを特徴づけている。 「end」の羅列があるおかげで、ひとめてRubyのプログラムだとわかる。

  • ブロック終端を明示するおかげで「ブロックをとる式」を書くことができる。 これはブロックが文にしかなりえないPythonよりも優れた点である。
  • もちろん同様のことは「{ ... }」を使って実現できるわけだが、 「case ... when ...」や「begin ... rescue ...」のような ブロックの途中に節があるタイプの文構造が醜くなりがち。

しかし、endには視覚的にインパクトがありすぎるという欠点がないわけでもない。 すぐ慣れるけど。

で、ちょいと例としてQuのような「;;」を「end」の代わりにする 文法を許してみた。ソースの書き換えは6行。これで

class Foo < Bar
  def foo(x)
    p x
  ;;
;;

のようなソースが書けるようになる。うーん、Rubyに見えないな。

この機能は予告なく無くなる可能性があるので、本気では使わないこと*1

*1  しまった、April Foolにこの機能を取り込めば良かったな

本日のツッコミ(全6件) [ツッコミを入れる]
_ cavorite (2005-06-07 20:07)

わしはブロックは特に意識して{}で閉めてるがな。

_ 匿名 (2005-06-08 21:40)

ギャグになってないような...。

_ たね (2005-06-08 23:04)

少し試してみました。「end」を「edn」と打ち間違えるおっちょこちょいな私にはは、かなり使いやすかったです。<br>ほんとにギャグになってませんよ...。

_ まつもと (2005-06-08 23:16)

お二方の「ギャグになってない」ってのは褒め言葉なんでしょうか??

_ あのその (2005-06-10 00:55)

> ブロックターミネータ<br>ためしに自分のCGIプログラム、endから;;に全部置換してみたんですが、たしかに見通しの点では抜群に良いです。<br>できたら是非正式採用を・・・。

_ 九部 (2005-07-08 15:31)

http://redhanded.hobix.com/bits/blockTerminator.html<br>とマルチポストですが、-; なんてどうでしょう?<br>;; なんてC++の ::(スコープ解決演算子)そっくりで嫌です。<br><br>name:Quvics  said on 08 Jul 2005 at 02:23 AM<br>class Foo < Bar<br> def foo(x)<br> p x<br> -;<br>-;<br><br>Lisp style. Easy to count -; than ;;<br><br>class Foo < Bar<br> def foo(x) p x -;-;

お名前:
E-mail:
コメント:
[]

«前の日記(2005-06-06) 最新 次の日記(2005-06-08)» 編集

track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.