1 名前:デフォルトの名無しさん mailto:sage [2008/10/11(土) 16:10:50 ] オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。 Ruby Home Page www.ruby-lang.org/ja/ = 前スレ Rubyについて Part 32 pc11.2ch.net/test/read.cgi/tech/1215531152/ 過去スレ・関連スレは >>2-
152 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 20:57:19 ] >>148 動作確認済みのPerl 、Ruby について 【Ruby】 Ruby 186-25 こんなバージョンのRubyは存在しないwwww
153 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 21:54:07 ] >>152 One-Click Ruby Installerのバージョンだね perlもActivePerlなんだし、そう明記すれば問題ないのに
154 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 23:36:03 ] >>153 それはないだろwww 186-25なんて1.8.6がリリースされた直後のバージョンでまともに動かなかったはずwww
155 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 23:44:48 ] >>154 rubyforge.org/frs/?group_id=167 55万ダウンロードで、歴代2位だ pathlevel 0 と表示される Windows 版 Ruby 1.8.6 を使っている人はまだ多い
156 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 04:08:26 ] >>155 が的確すぎてわろた
157 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 21:49:51 ] ruby 1.9.1 preview1が出たけどruby-langのニュースにはならないの? なんでもいいから更新しないと停滞してると思われるよ
158 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 22:09:05 ] previewやRCは下手に話題にすると変な人が手を出してネガキャンになってしまうので…
159 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 22:21:41 ] しかしユーザーが増えないとバグが取れて安定しないような
160 名前:デフォルトの名無しさん mailto:sage [2008/11/04(火) 22:28:36 ] 変な人はバグ報告なんてしません Firefoxのアルファやベータが一般人に広まっても一般人はバグ報告などしなかった ある一定以上の経験と知見を持った人間が使ってくれないとバグ報告は増えないというのが悲しい事実
161 名前:159 mailto:sage [2008/11/04(火) 22:32:07 ] なるほど。失礼した そういえばFirefoxも普通のソフトになっちゃって、 コミュニティが苦労してるなんて話を聞いたような聞かないような
162 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 02:19:20 ] 1.8系列って1.8.7でディスコン?いつまで{メンテされる|新しいリリースが出る}の?
163 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 09:13:02 ] >>160 いいかげんな報告が増えるだけでも困るけどな
164 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 20:01:16 ] 「自分の身に起こったことを、簡潔かつ客観的に説明する」 というのは、実のところ選ばれた一部の人間にしかできない行為だからな。
165 名前:デフォルトの名無しさん mailto:sage [2008/11/05(水) 20:37:12 ] そのへんは学校で習わないから仕方がないねえ 大学でいいゼミやいい一般教養にぶち当たると訓練になるんだけど
166 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 02:32:11 ] 見知らぬ人間に道を尋ねられて「私の家から北に100mです」って答えるみたいな説明を 本気でする奴がいるからな。
167 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 02:51:25 ] そんな極端な底辺を例えに出す奴もどうかと思うがな
168 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 08:51:26 ] >>167 「極端な底辺」ではなく、「まずあり得ないやりとり」としての例ね。 現実に居ることはまったく想定してない。 状況Aにおいて頻繁に見られる性質Bを、Bがまず起きない状況Cに置き換えて 「状況Cでいうなら、つまりこういう光景に等しいよね」と説明することで、 状況Aの中だけで語ってると、頻度が高すぎてそのダメさが大したことじゃないように思えてくる ニュアンスを消したかった。
169 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 10:35:30 ] なんだ、いないのか。 ちょっと面白いと思ったのにw
170 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 14:07:45 ] バグレポートする際に たとえ話はなんの役にも立たない
171 名前:デフォルトの名無しさん mailto:sage [2008/11/06(木) 14:08:49 ] しかしつまらんスレだな
172 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 00:48:33 ] ActiveRecordってどんな基礎理論から出来てるの? O/Rっていってもいくつか種類とか制約あってそれぞれ 違うようですが
173 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 02:56:36 ] >>171 Rubyがつまらないんだからしょうがない。
174 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 04:47:24 ] Ruby/Pangoって絶賛放置中?
175 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 11:35:05 ] >>172 マッパーそれ自体に理論ってあったっけ? RDBとオブジェクト指向のモデルにはズレがあって・・・・・・ってな話は オブジェクト指向データベースの書籍とかで取り扱われてたような記憶がある
176 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 12:29:00 ] >>172 基礎理論というほどではないが、ActiveRecordというそのものずばりなpatternもとにしている。 ちなみにDataMapper patternをもとにしたのがDataMapperというライブラリ。 ttp://datamapper.org/ ActiveRecord patternやDataMapper patternについては capsctrl.que.jp/kdmsnr/wiki/PofEAA/?ActiveRecord capsctrl.que.jp/kdmsnr/wiki/PofEAA/?DataMapper をみるのがよかろう。
177 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 19:09:18 ] やっぱりこれファウラーさんが最初なの? Railsの影響でPHPでもしばらく前にブームってたが、今ひとつわからんので放置 こればっかりではないが、連想配列のある言語と、Java等のオブジェクトでの 理論・概念の融合が今ひとつ上手く行ってない感じがして仕方がない
178 名前:デフォルトの名無しさん mailto:sage [2008/11/07(金) 22:23:45 ] はいはい
179 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 00:56:10 ] Django使ってる人いますか?
180 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 12:42:18 ] ふつうGAE使うだろ
181 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 15:53:30 ] modruby.net/ja/index.rbx/news15.html mod_rubyの新しいのがリリースされてる これ何ですか?
182 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 16:00:22 ] > これ何ですか? 大雑把な疑問だなオイ 書いてあるそのまんまだと思うぞ 自分の環境が該当するものでないのなら無理に導入しなくてもいい 1.9サポートって言っても文法エラー取り除いた程度だと予想
183 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 18:31:41 ] ついったーの様子だと、 とりあえず1.9で動くようにした程度かな。 twitter.com/shugomaeda
184 名前:デフォルトの名無しさん mailto:sage [2008/11/08(土) 23:18:23 ] mod_ruby も、スクリプトごとにRubyインタプリタ起動すれば使う気になるのに。
185 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 00:11:15 ] >>182 > 1.9サポートって言っても文法エラー取り除いた程度だと予想 もっといろいろ大変だったんだよ つーか昨夜リリースできたのは驚異的
186 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 00:14:36 ] >>184 MVMが実装されるまで待て。
187 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 01:22:56 ] RubyキモいよRuby www
188 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 01:35:22 ] >>184 mod_rubyの意味ないじゃんじゃん?
189 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 15:01:28 ] >>184 >mod_ruby も、スクリプトごとにRubyインタプリタ起動すれば使う気になるのに。 それはCGIのことか?
190 名前:184 mailto:sage [2008/11/09(日) 16:16:31 ] >>189 スクリプトというか、アプリケーションごと? インタプリタはリクエストごとに起動するわけではなく、 Apacheとともに常駐するんだけど、 全部のスクリプトでそのインタプリタを共有するわけじゃなくて、 スクリプトごとに固有のインタプリタがあると良い。
191 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 16:28:55 ] グローバルな状態をアプリケーション単位で分けたいということですかね。 >>186 が言うようにMVM待ちかなぁ。
192 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 16:42:41 ] FastCGI等のプロセス常駐じゃだめなの? よくわからんけど
193 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 18:59:13 ] FastCGIはたしかにスクリプトごとにパーシステンスプロセスを起動するね。 CGIと違ってリクエストごとには起動しない。 >>184 のやりたいことはこれかなあ。
194 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 20:09:18 ] Ruby 的には mod_ruby と FastCGI とどっちがおすすめなんでしょうか。 mod_ruby って実は mod_php や mod_perl とかと相性悪かったりしない?
195 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 21:07:16 ] rubyは汎用なんでおすすめApacheモジュールとか言われても困るんじゃないの。 オススメはwebrickかmongrel
196 名前:184 mailto:sage [2008/11/09(日) 22:10:00 ] うん、だからFCGIやmongrel使うことになって、 mod_ruby を使いたいんだけど使えないなあと。 ほんとは mod_wsgi みたいに mod_rack が欲しい。
197 名前:デフォルトの名無しさん mailto:sage [2008/11/09(日) 22:49:25 ] Phusion Passengerってのが別名mod_rack/mod_railsらしいけど詳細は知らない
198 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 00:32:36 ] アプリがrackやrailsだったらpassengerが希望のものかと。
199 名前:デフォルトの名無しさん mailto:sage [2008/11/10(月) 14:04:46 ] >>148 日本語SPAMフィルターでrubyのやつがあったね そういえば
200 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 14:08:08 ] rubyのコードを書けるコマンドラインのリネーマーツールってない? rren -recurse *.txt "$_.upcase!" で aaa.txt bbb.txt が AAA.TXT BBB.TXT になるようなのでもっと至れり尽くせりなやつ。
201 名前:デフォルトの名無しさん [2008/11/13(木) 14:13:02 ] >>200 > もっと至れり尽くせりなやつ。 単に ruby でワンライナー書くのが一番至れり尽くせり。
202 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 14:20:37 ] 定型処理には、ワンライナーは不便かもしれない。 rename [-g "グロブ記述"] "正規表現" くらいのインターフェイスでコマンドを書けばいいんじゃね?Rubyで。
203 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 14:55:57 ] for filename in *.txt; do echo $filename `mv $filename | ruby -n -e 'print $_.upcase'`; done ファイル名に空白とか入ってておかしなことになっても知らん
204 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 14:56:49 ] あ、間違えた for filename in *.txt; do mv $filename `echo $filename | ruby -n -e 'print $_.upcase'`; done
205 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 18:33:16 ] >>203 は、echo で一回テストしてみる慎重な人。
206 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 18:53:48 ] mv はよく痛い目に遭うから。 mv <パターン> <ディレクトリ> で、ディレクトリを入力し忘れたら、パターンに マッチしたファイルが2つで、2つめのファイルが消えちゃったとか。
207 名前:デフォルトの名無しさん mailto:sage [2008/11/14(金) 21:42:08 ] echo で試した後、ヒストリ戻って | sh と付けたりする。
208 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 07:04:10 ] 1.9.1-preview1のバグ? subの第二引数にSJISの文字列を渡すと、2バイト目の\に反応しちゃってる >ruby19 -Ks -ve "puts 'test'.sub(/test/,'表0')" ruby 1.9.1 (2008-10-28 revision 19983) [i386-mingw32] 付est 「+暗が gsub できない」のブログエントリを見て そりゃあJISコードを直接扱うのは無理があるだろっ でもSJISも2バイト目に\が来たら、-Ksとかでちゃんと$KCODEをSJISにしておかないと引っかかるよなぁ だがしかし、1.9ならば文字列のエンコードさえしっかりしておけば無問題だぜ! >ruby19 -Kn -e "puts 'test'.sub(/test/,%!\x95\x5c0!.force_encoding('SJIS'))" 付est だめじゃんorz
209 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 08:09:14 ] Rangeに x < first ? first : x > last ? last : x なメソッドってないもんかね。あってもよさそうな気がするのだが。
210 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 09:31:27 ] いい名前がないからじゃないかな ぴったりな名前ある?
211 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 13:02:14 ] limit か bound 辺りかな? (1..10).limit(11) => 10
212 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 13:25:05 ] 俺は以前、こんなメソッド定義してた (1..10).fold(11) #=> 10 11.fold_in(1..10) #=> 10
213 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 14:27:05 ] なんか fold っていうと inject を思い出すな
214 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 16:59:52 ] >>209-213 自分はclampってのを使ってるけど、何故その名前を 使い始めたか思い出せない。合ってるのか?
215 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 20:21:02 ] >>214 いまいちな感じ ━━ n., vt. 締め金(で締める); (駐車違反車を)車輪止め(wheel 〜)を掛けて動かせなくする. * clamp down (on) (…を)押えつける; (…を)厳重に取締る. * clamp・down 取締り.
216 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 20:41:36 ] 以下カードキャプター禁止
217 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 20:49:25 ] >216 Holicやツバサなら良いのか
218 名前:デフォルトの名無しさん mailto:sage [2008/11/15(土) 22:48:26 ] >>208 thx 珍しく田中さんのバグかと思ったらまつもとさんだった。
219 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 00:02:19 ] Range#clip とか。clipping の clip。
220 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 02:00:14 ] clipだと、される側が値じゃなくて範囲のように思える。
221 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 02:09:57 ] imprison は?てかclampよくね
222 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 03:17:36 ] >>211 のboundでいいと思うがなー。 bindの過去分詞じゃなくてboundaryのほうの動詞型だよな?
223 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 21:40:25 ] 以下のようなコードなのですが ruby -v #=>ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-mswin32] <-- $KCODE='s' t = <<TEXT \"<src>\" TEXT t.sub!('<src>',"C:\\うた\\01.txt") p t --> #=>"\"C:\\うた<src>1.txt\"\n" となってきちんと置換されません。 "C:\\うた\\01.txt"の部分は起動時の引数を 考えています(運用時に変化する) どのようにすれば #=>"\"C:\\うた\\01.txt\"\n" のように置換できるでしょうか?
224 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 21:46:48 ] www.ruby-lang.org/ja/man/html/String.html >注意: gsub の項には sub/gsub を使用する上での注意点が書かれています。 >置換文字列 replace 中の \& と \0 はマッチした部分文字列に、 >\1 ... \9 は n 番目の括弧の内容に置き換えられます。 というわけで。 t.sub!('<src>'){"C:\\うた\\01.txt"}
225 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 22:51:46 ] 文字列をevalすると中を評価してしまう副作用があるけど、 評価しないで文法エラーがあるかどうかだけ知る方法はないだろうか。 1.9ならripperでやれると思うのだが、あいにく1.8。 いま考えているのは ruby -w をforkして標準入力から流し込む。
226 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 22:56:26 ] eval("if false \n"+ program +"\n end") で例外が起きなければ多分正しい気がする
227 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 23:00:56 ] >>226 なるほど3Q
228 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 23:05:43 ] eval "proc {" + program + "}" とかでもいいのかな。
229 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 23:15:04 ] おれも eval "proc { #{program} }" 派だ。 begin eval "proc { #{program} }" rescue SyntaxError => ex puts ex.message end
230 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 23:16:52 ] program='end;exit;begin' とかやるとexitしちゃうので信頼できないソースにやるのは駄目だな
231 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 01:14:49 ] >>225 そっちでいくなら ruby -c で終了コードを見た方が。 > ruby -ce 'p 0' || echo error Syntax OK > ruby -ce 'p 0.' || echo error -e:1: syntax error, unexpected $end error
232 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 03:35:41 ] お前ら、ちょっとくらいソースのぞいてみろ。 sample/test.rbにそのまんまのがある。 def valid_syntax?(code, fname) code = code.sub(/\A(?:\s*\#.*$)*(\n)?/n) { "#${"\n" if $1 && !$2}BEGIN{return true}\n" } eval(code, nil, fname, 0) rescue Exception puts $!.message false end
233 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 11:23:07 ] がんばってみたけどやっぱりダメみたいだ。 ごめんなみんな。
234 名前:223 mailto:sage [2008/11/18(火) 13:02:24 ] >>224 レスありがとうございます 思った通りに処理できるようになりました
235 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 03:03:37 ] 国籍法改正案について語ろうぜ
236 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 03:29:00 ] >>235 mamono.2ch.net/newsplus/
237 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 03:30:35 ] +(笑)
238 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 21:28:32 ] Ruby-Gnome2にはお世話になってるので、GUIに関するアンケートに答えたけど、 英語が苦手なのできつかった。。
239 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:16:02 ] what?
240 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:30:32 ] これこれ blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/45649
241 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 09:47:40 ] thanks. (あれ?一度レスしたつもりだったが、してなかったか)
242 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 11:09:42 ] メソッド呼び出しの括弧を省略したらProcオブジェクトが とれるようにしようぜ 今みたいに関数オブジェクトを名前で指定するって ダサすぎね?
243 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 11:58:49 ] それは何を中心に考えるかによるからなあ。プロパティ指向と考えれば今のもあり。 それより、 Rubyって関数とかブロックとかクロージャ類の扱いがなにげに冷遇されてるというか あんまりきちんと整理されていないというか。 他の言語でクロージャ使って書くつもりのことがRubyだとすんなり書けないね。 表層的には ・ブロックが関数と同等でない(ブロックをとれないなど) ・内部関数(Schemeのinternal defineみたいの)を書けない Rubyという言語の設計において、クロージャ類は従属的な存在なんだと思う。
244 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 13:03:31 ] >242 名前っつーか、そのためのシンボルのハズなんだが ちとシンボルと実体が疎に過ぎる気はするなあ。 >243 Rubyに純粋な意味での「関数」は無いからね。 文の塊をつくる手段は所属するオブジェクトが必要な「メソッド」と オブジェクトそのものである「ブロック/Proc」の2種類。 PythonやJavaScriptみたいな設計は 「publicな属性が存在する」ことが前提。 「メソッドはpublicな属性に、クロージャが入ったもの」という感じ。 この設計では、関数もメソッドも似たような存在。 ところがRubyはpublicな属性をいきなり排除して 「オブジェクトの属性にはメソッドを通してしかアクセス出来ない」 としてるから、その設計が出来ない。 というのもRubyで「メソッド=クロージャ」…としてしまうと public属性にアクセスできない=クロージャにもアクセスできなくなるんだよね。 だからRubyがpublic属性を否定する限り メソッドは特別な存在でなければならず、クロージャではありえない。 …お陰で、相対的にクロージャの地位が下がっちゃってる。
245 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 13:07:21 ] ただ、もう少しProcとメソッド双方歩みよって 「違うけど、似たように扱える」仕組みがあっても良いとは思う。
246 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 20:25:17 ] メソッド呼び出しの括弧の省略を許す限りなかなか難しいだろうなあ
247 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 23:20:48 ] フリーの統合開発環境「NetBeans 6.5」正式版リリース
248 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 02:07:28 ] メソッドをProcにするのなんか、 x = proc {obj.foo} でいいんじゃね?
249 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 04:22:24 ] 1.9だと ブロック引数にデフォルト値の指定ができるし、ブロックも渡せる block=lambda{|a,b=2,&c| p [a,b,c.yield]} block.call(1){'block'} #=> [1,2,'block'] もう、いっそのこと {|| 〜} って書いたら、それはProcとして扱ったらいいんじゃね?
250 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 04:41:37 ] あと、素人の浅知恵&妄想だが selfを省略した括弧付きのメソッド呼び出しに限定して メソッドが存在しない時に、同名の変数があって それがProcオブジェクトなら call する 同名変数が存在しないか、変数がProcオブジェクトでなければ method_missing 今だって def a;'def a';end a = 'var a' なんてしたときは 字面の a だけをみても変数なのかメソッドなのかわからんのだし p a, a() で、呼び分けるんだから a()がメソッド呼び出しなのか 変数aのProcオブジェクトをcallしてるのか判らなくてもいいんじゃね a = lambda{'proc a'} p [a, a(), a.call] # => [#<Proc:〜 (lambda)>, "def a", "proc a"] で呼び分けれるし
251 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 04:49:18 ] で、 alias func lambda などとすれば x = func{p 'function'} x() あらまぁ、もはや関数と見分けがつかない なんちゃって
252 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 05:54:47 ] >selfを省略した括弧付きのメソッド呼び出しに限定して selfじゃなくてレシーバの省略だった おまけで __proc__みたいな感じでProc自身が取れたりすると Procの再帰がさせやすくなったり