« おなかいたい日記 |Main| キャベツ粉砕日記 »

« おなかいたい日記 | zakki(雑記) | キャベツ粉砕日記 »

iterableスルー日記

[2006-12-06 18:23] ローカルで日記を書いていると、公開し忘れがあるんじゃないかと不安になる。 別に公開し忘れても誰も困らないけど。 howmで新しいファイルを作って書き始める際に、タイトルを「未公開日記」にすることにした。 公開時には書き換える。これでOK。ローテクだ。
= Jython-usersを見ていると、Pythonはexecとevalを区別しているので Jakarta BSF - Bean Scripting Framework の挙動と異なるじゃないか、というツッコミがあった。 これって実は根が深いのじゃないだろうか。 異なる言語へのインターフェイスが共通化できるのか、という問題だよね。 BSFがどうなっているか知らないけど、仮に変数に値をセットするsetメソッドがあるとする。 それって代入の存在しない言語を対応させるときにはどうするのだろう? というような問題。 今回の問題も含めて、間にラッパを挟むことで対処は可能だろうとは思うけど、 それが対象言語の魅力を損ねる可能性だってあるわけだ。 難しいよね。

今回の問題はPythonが他の多くの言語と違って文と式を区別するという点に原因がある。 これには少なくとも「if文の条件式に間違えて代入文を入れてしまうミスが起こりえない」 というメリットがあるけど、逆に多くの言語のIO周りで使われる 「代入文をwhileの条件式部分に入れる」というイディオムは使えなくなる。 個人的にはこの区別はなくてもよかったのではないかと思うし、 こうやって他の言語と衝突したりすると「全部式だった方がよかったのかもな」 とも思う。でも今更変更するのは無理だろう。

あー。Jython2.1でタプルやリストが__iter__を持っていないのにiterableなのは __iter__がジェネレータを返すことでfor文を使ったイテレーションをフックできるようになったのが CPython2.2以降だからのはずだ。 と英語で書くのが面倒だからって日本語でこんな所に書いてもなぁ…。

思い直して返事を書こうとしたらGMailがハングアップした。 よしスルーすることにしよう(笑)

FirefoxってJavaScriptの処理がハングアップしたときには強制中断するか聞くようになったんだねぇ

トラックバック(Trackback)

Trackback URL: http://www.nishiohirokazu.org/mt/mt-tb.cgi/447

ご意見・ご感想をお送りください(フィードバック)

(フィードバックはメールで送信され、基本的に表示されませんが、内容によっては公開させていただくこともございます。ご了承ください。Your comment doesn't appear the page immediately. If the comment has value to other people, it will be put on the page or subsequent entries. Thank you.)

上の情報は、いずれも未記入でかまいません。 All of above questions are optional.