機械す。
> Dave "Pragmatic Programmer" Thomas もRubyKAIGIでの講演でPythonには
> 「Guidoの(武道などで言うところの)型がある」といった趣旨のことを
> いってますし。
そーいえば、さらに厳しい型をPythonにはめるモジュールが
ありましたっけ……アレは行き過ぎだったと思うけど(笑)
> #つーと、Perlはさしずめ『雲のジュウザ』あたりになるのか?
ラオウの腕一本で満足するほど、無欲では無いと思うなぁ……
※なんといっても今も昔もCGI界では帝王だ……
> PythonとRubyのそれぞれに感じる不満点は jijixiさんが最近書いてましたね。
>
> http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20071010#p01
> http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20071011#p01
超漢字……なんてまにあっくな……(あたしゃV2しか持ってないなぁ)
まぁ、ソレはさておき、Pythonのソレは明らかに意識して作ってあるトコだ
から直しようが無いとこであるのに比べ、Rubyのは、まだなんとかなりそうな
トコがあるような……
<λ>
え〜py3kからは、execが式になるので、裏技でlambdaでも文が使えます。また、
現状でも、if文くらいなら、「条件付き評価式」が使えますし、副作用が目的
なら、リスト内包を使ってできる場合もありますよん。
ただ、これは単なる私の「Python慣れ」のせいだと思うけど、式一つ以上の
文をlambdaで書かなきゃならない場面って、少ないと思うんだけどなぁ。
<逆襲>
最後の式の結果をリターンで返すRubyのほうが珍しいと思うのだけど。
returnを↑にしたら少しはマシかしら?
<えくすぷれっしょん>
代入が値を返さないのはよくCユーザに云われるけど、制御構造が値を返すって、
ソレ、SmalltalkかLispかRubyだけじゃないの?
代入だけなら、書き換え可能なクラスを作っておいて、変数の代わりに使えば
いいだけの話なんだけどね。
<輸入/れぎゅらーえくすぷれっしょん>
仕様です。
<文字列展開>
py3kで文字列でformatというメソッドが増えて、
"{0:03}: {1}".format(56,'print("Hello!")')
とかいう書き方が増えたのだけど、どうだろう?
<自身>
ちなみに、selfが嫌なら、Iとか(大文字なのがミソ)myでもいいのに(笑)
※Modula-3から引っ張って来た特徴、なのだそーな。Modula-3って未だに
謎な言語だけど。
ちなみに、メソッドの第一引数にselfを書かなければならないのが、
面倒、という意味でしょうね(自分自身を参照するならthisつけるの
で同じわけだし……)
で、例えばIやmyとしたならば、自分自身参照の数が多いほど、thisより
タイピングが少なくなるんですけどねぇ。
※でも私はselfで刷り込まれてます……
> ふと思ったんですが、self. つけるのがうざいうざいとは良く聞きますが、
> 逆にデフォルトでは self. がついているかのごとく扱われて、外側のスコープに
> 存在している変数(など)にアクセスするときには就職子必須にするか、
global.value ?
> なにか特別な記号なりキーワードを前置するなどしたときには名前の検索を
> self のひとつ外からはじめる(つまり self.ほげほげ は探さない)。
> ってのはどんなもんですかねえ。
現在、@も使っちゃったから、残るは$だけだけど……ヤだなコレは。
※PerlやRubyと違う、最後の砦なので……
書くのは楽かもしれませんが、読むのは大変かと。
> あー、関数/メソッドにローカルなのをどうするかってのがあるか。
local.valueとか(笑)
まぁ、現在のPythonは、ドット参照+レキシカルスコープ+代入即ローカル
というルールでがちがちに縛られているので、慣れれば分かり易いし、使い易い
と思うんですけどね(代入は明示的に行えばいいし)まぁ、違ったルールの言語
の思考をしないというのが問題なのだろうけど。
/機械伯爵/