おまぬけ活動日誌

最近のツッコまれどころ

この日誌から Google してもらう


2005年05月31日(Tue) しっちゃかめっちゃか [長年日記]

歯医者に行って新聞代を払って、家賃を払おうと思ったら小切手の最後の一枚を書き損じる。家に戻ってやっと仕事場に行こうと思ったら自転車がパンクしてたよ。

[Ruby] (a)(10){p 11}

Matzにっきより。

開発版Rubyの「ローカル変数の後ろに引数を並べたものは、そのオブジェクトに対する「call」の呼び出しとするというルール」は、あんまりだなーと思ってた(どう「あんまり」なのか言葉にできないのだけれど)ら、やっぱりそう思っている人も多いらしく、「このアイディアを採用するのは止めようと思う」とのこと。ちょっとほっとした。

まつもとさんは代わりに3つのアイディアを挙げておられる。僕自身は、Pythonの「括弧をつけないときは関数オブジェクト」っていうルールにも違和感を感じるし、「1. なにも新たには追加しない。」でいいんじゃない?と思っていたのだけれど、「3. 『(expr)(args...)』でimplicit call」というのも、Cを触ってる身としては自然に感じられてしまう。ほら、関数ポインタの宣言ってなんだか括弧が多いじゃないですか。

でも、確かにブロックが付くととたんに読みにくいコードになってしまいますね。

パンク修理のためにまず空気入れを直す

楽しきかな人生…

パッチがもう無いので買ってくること。

だ〜らだ〜らで〜れだ〜りらん

わはは。たしかにすごい。にっきより。

C言語で文字列を比較するswitch/case文モドキを思いついた

if〜elseがぶらさがっていくのが嫌だなーと思っていて以下のようなものを 思いついた。なんだか邪道な気もするんだけれどどうだろう。

うだうだ書いてないでコンパイルしてみよう。

本日のツッコミ(全3件) [ツッコミを入れる]
> おくじ (2005年05月31日(Tue) 14:04)

Pythonは括弧を付けないと関数オブジェクトなのではなくて、括弧を付けようが付けまいが、常に関数オブジェクトなんです。括弧が付くと、呼び出します。非常に一貫していて分かり易いと思います。Pythonの文法は単純です。

> zunda (2005年05月31日(Tue) 14:34)

あ、書き方が悪くてすみません。僕は、例えばリストに対してary.sort()という意図でary.sortと書いてしまって、何でソートされてないんだろう?と思ってしまうことが時々あります。Pythonの仕様が悪いといいたいわけではなくて、残念ながら相性が悪いなー、と思ってしまうのです。

> おくじ (2005年06月01日(Wed) 09:41)

それはRubyに慣れ過ぎでは...<br><br>私は逆にRubyで括弧を省略し過ぎてよくはまったので(特にputsとか)、Rubyでも大抵括弧を付けるようになってしまいました。<br><br>良い悪いは私にはよく分からんです。Rubyの文法は説明が難しいので、初心者には辛いだろうなとは思います。慣れれば、どっちでもいいような。ただ世の中は大抵括弧を付けたがるので(JavaとかCとかLispとか(違))、私自身は付ける方が好みです。Rubyの良い所はどっちの好みも認めてくれるところですね。


作り手とその取り巻きだけが楽しんでる間は本物じゃない。その中身が理解できない人々の生活を変えてこそ本物だ


zunda <zunda at freeshell.org>