[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 09:27 / Filesize : 208 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Rubyについて Part 30



1 名前:デフォルトの名無しさん mailto:sage [2008/01/12(土) 11:47:53 ]
オブジェクト指向スクリプト言語Rubyについて扱うスレッドです。

Ruby Home Page
www.ruby-lang.org/ja/

= 前スレ
Rubyについて Part 29
pc11.2ch.net/test/read.cgi/tech/1193668038/

過去スレ・関連スレは >>2-


321 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:16:04 ]
Ruby < 信じれば救われる!

322 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:19:07 ]
もっといい言語が他にいくらでもある。

323 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:20:29 ]
そのときその瞬間にロクでもないアンチか信者が常駐状態だった、
という悲劇はわりとよくある話。

324 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:21:11 ]
>>309
String は別に Object に似せようとはしていないが
StringIO は IO に似せようとしている、という大前提が違う

325 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:24:58 ]
それはstringがいらないという主張であるが、結局の所、
stringなんて名前にするくらいならto_sでいいじゃんってことになる

326 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:29:24 ]
>>325
日本語でおk

327 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:30:56 ]
IOに似せる→stringなんてメソッドいらない
string気持ち悪い→to_sでいいじゃん

328 名前:デフォルトの名無しさん [2008/02/03(日) 17:41:12 ]
>>308
>Webに使うcgiは重厚でも安全な設計にすべきだと思うが?
安全かつ、簡単なことは簡単にできる設計がベストだろ。
だからこそ、multipartのときはただの文字列で、
multipartの時はIOのようなものが来るようになってる。

要するに、multipartを使う奴は面倒を押しつけてるんだよ。

329 名前:デフォルトの名無しさん [2008/02/03(日) 17:42:34 ]
訂正>>328
×multipartのときはただの文字列で、
○multipartじゃないときはただの文字列で、




330 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:47:04 ]
>>327
>IOに似せる→stringなんてメソッドいらない
あってもいいだろ。File#pathみたいなもんだ。

>string気持ち悪い→to_sでいいじゃん
俺の感覚ではto_sのがキモイ。勝手に型変換すんな。

331 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 17:51:58 ]
>勝手に型変換すんな。
いや、したくてするんだがw

332 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:02:16 ]
p StringIO.new("abcd") #=> "abcd"
なんてキモすぎだろ。常考

333 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:04:49 ]
それはpやputsがto_sを呼んでるだけなのでは…

334 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:06:11 ]
誰がそんなことを望んでるの?

335 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:06:36 ]
cgi.rb は多少手を入れた程度じゃどうしようもないし、
大きく手を入れるんだったらパッチをつけないと議論できないからなぁ。

336 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:07:34 ]
木を見て森を見ず vs. 森を見て木を見ず

337 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:08:01 ]
>>332
どうしてもやるならStringIO#inspectも定義すべきだね

>>333
to_sはそういう風に使われるものだから下手に定義するなってことだろう

338 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:09:03 ]
inspect定義しちゃいけないのかw

339 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:14:35 ]
>>331
してほしくない人もいるってことだ。
お前は "foo" + 1 を勝手に "foo1" にして欲しい派?
もしそうならお前は今の Ruby に向いてない。



340 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 18:20:14 ]
ところで、cgi.rbがらみでStringIO#to_sを主張するやつは
なぜTempfile#to_sの方は主張しないの?

341 名前:デフォルトの名無しさん [2008/02/03(日) 18:25:24 ]
「勝手に型変換」はto_strじゃないのか

342 名前:202 mailto:sage [2008/02/03(日) 18:38:19 ]
>340
リファレンス見ると
StringIO: IO と同じインタフェースを持った文字列クラスです。
  --> 本質は文字列クラス
IO: IO クラスは基本的な入出力機能を実装します。
  --> 本当は文字列関係ありません。(なぜかIO#readで文字列を吐き出せるけど)
だけど?

まあ、おいらとしてはcgiクソという結論なんであんまり興味なくなったというのが本音。

343 名前:202 mailto:sage [2008/02/03(日) 18:42:12 ]
>333
pが呼んでいるのはinspectだと思う。
putsとprintはto_sだね。

344 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 19:02:17 ]
>>342
>StringIO: IO と同じインタフェースを持った文字列クラスです。
これはマニュアルが間違いだな。
文字列クラスだとしたら、+だのgsubだの何もかもが足りない。
あと、英語ではちゃんと "Pseudo I/O on String object" になってる。

>IO: IO クラスは基本的な入出力機能を実装します。
>  --> 本当は文字列関係ありません。(なぜかIO#readで文字列を吐き出せるけど)
これはさすがにいちゃもんだ。IOは文字列の入出力機能を提供するものだよ。

345 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 20:07:01 ]
>344
>これはマニュアルが間違いだな。
あいかわらずリファレンスは酷い、つうことか。

>これはさすがにいちゃもんだ。IOは文字列の入出力機能を提供するものだよ。
いや、IOて文字列よりももうちょっと抽象化の進んだものじゃね?
あくまでストリームなんだから、中身は何でも良いはずだよ。
文字列として成立しないバイナリも処理できる訳だし。
#Windowsだとbinmodeを設定する必要あるけど。

346 名前:344 mailto:sage [2008/02/03(日) 20:32:53 ]
>>345
>あいかわらずリファレンスは酷い、つうことか。
まあでも、中を見ればStringIOがStringに似せようとしてないことくらい
普通はすぐわかるから、些細なことだとは思う。
仕様書じゃないんだから、厳密すぎる表現を使われても読みにくくなるしね。

>あくまでストリームなんだから、中身は何でも良いはずだよ。
入出力が文字列になるストリーム、という意味。
任意のオブジェクトを流せるストリームではないと。
文字列というか、Stringで表現できるもの、と言うべき?

347 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 21:37:37 ]
ていうか、StringIOの基本コンセプトはシェルでいうところの

LIST=`ls`

だろ
出力を変数に格納する処理

348 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:08:31 ]
StringIO#string= を StringIO#to_s= にしろとな。
キモすぎるぞそれは

349 名前:162 mailto:sage [2008/02/03(日) 22:18:18 ]
cgi.rb がクソと言うやつは、どのような設計ならば素晴しいか具体的に述べてくれ。
(いや、煽りじゃなくてな。MLあたりで提案しないと状況は動かんとは思うが、それをやれとは言わん)
最近本格的にperlから乗り換え始めたんで、CGI.pm のクソさ加減から劇的に改善されたことしか理解できないのよ。



350 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:22:34 ]
>348
誰もそんなことを言っていないぞよ

351 名前:202 mailto:sage [2008/02/03(日) 22:25:51 ]
>349
Webrickを見たけど、あっちの方がずいぶんまともな設計じゃない?
使ってないから何ともいえんけど。
でも、あれも更新止まっちまってる感じなんだよなぁ。

352 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:49:43 ]
>>349
www.google.com/search?hl=ja&q=CGI.rb&lr=lang_ja&ie=UTF-8&oe=UTF-8&num=50

353 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:55:28 ]
Webrick::CGIはちょっとしたCGIでよく使うけどいいよ。
WEBrick::HTTPResponse や WEBrick::HTTPRequest を見ないといけないうえに、
時々ソースまで見ないといけないのがネックだけれど。

354 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:56:31 ]
ソースまで見ないといけないのはRuby全般に当てはまる

355 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 22:58:04 ]
ネット関係のモジュールはソース見つつ作ると面白いことができるな

356 名前:デフォルトの名無しさん [2008/02/03(日) 23:00:02 ]
WEBrickは読みやすいんだけどそれがドキュメントが無い原因の一つなのかも…

357 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:14:45 ]
>>355
初心者スレで見たんだが

require 'net/http'
uri = URI.parse('www.2ch.net/')
response = Net::HTTP.start(uri.host, uri.port){|http|
http.head(uri.path)
}
p response.code_type == Net::HTTPOK
p response.is_a?(Net::HTTPOK)

これ両方ともtrueなんだよな
Net::HTTPOK使うのなんて初めて見たぞ

358 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:19:22 ]
def code_type
self.class
end
なんだな。


359 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:27:44 ]
response.code == '200' という半マジックナンバーよりは見かけ健全だな
初心者スレでは response.code == 200 という比較をして動かないってハマってたが



360 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 23:33:43 ]
>357
あと、typoをパーザーが見つけてくれるから、response.code == '200'より便利だよ。

361 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 12:34:05 ]
>>357-358
それは、rdocにあるように、caseでチェックするため。

case response
when Net::HTTPSuccess     then response
when Net::HTTPRedirection then fetch(response['location'], limit - 1)
else
  response.error!
end


362 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 15:07:30 ]
>>356
どんなドキュメントが欲しい?
リファレンスマニュアルとは別のものかな。

363 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 15:53:27 ]
>>362
356じゃないが、チュートリアルというか、こういう時はこういう組み合わせでやれ、みたいな感じの物はほしいな。
るびまにproxy作る例があったけど、あんな感じで。

364 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 15:59:18 ]
WEBrickでプロキシを作る例を読むのはもう飽きたお…

365 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 20:47:39 ]
レシピブックじゃだめかね。

366 名前:デフォルトの名無しさん mailto:sage [2008/02/04(月) 23:59:26 ]
>>362
Webrickのクラスでセッション管理するドキュメント

367 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:29:45 ]
>>366
ttp://www.ruby-lang.org/ja/man/html/webrick.html

368 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:34:36 ]
Ramazeってよさそうだけど、あれ試してみた人いる?

369 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 01:52:18 ]
>>368
最近できたフレームワークですね。

最小限の構成ながら、MVCで、
必須だろうセッション管理やキャッシュ機構もデフォでついてたり、
それでいて、HTTPDやテンプレートやORマッパがすげ替え可能だったり、
よさげではあるな・・・。

てか、OpenID対応とか時代を反映してますな。

Rails はでかいと思う人にはかなりよさげ。
ただ、Railsの次点は Merbだろうし、
使っている人はどれだけいるんだろうか



370 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 02:12:47 ]
お前ら小さいのがいいならSinatraも忘れないでください。

Sinatra : Classy web-development dressed in a DSL
sinatra.rubyforge.org/

セッション管理がねえ?そんなのカンk(ry

371 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:07:56 ]
だからセッション管理が無いなら標準添付のWebrickでいいんだってば

372 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:12:04 ]
cgi.rb 再構成案

cat > cgi.rb
require 'webrick/cgi'

373 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 03:21:39 ]
もう1.9.0を出しちゃった以上、インタフェイスレベルでの変更はやめたほうがいいんじゃないの。
デイブトーマスも「開発者は1.9でライブラリ書けよ」って言ってるぐらいだし。それよりはMLで
やってるみたいに実装を高速なものに変更するとかがいい。あるいはCgiAltをcgi2って名前で
取り込むとかね。

でもね、それよりはドキュメントをですね、もうちょっと埋め込むとかなんとかして
irbのhelpがpythonのhelp()並に情報がでるようにしてほしい。Pixaxe本の記述って
ソースコードにコピーしちゃだめなのかな。

374 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 06:23:10 ]
1.9.0 はただの snapshot だし。

375 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 07:18:44 ]
俺は StringList が欲しかったが
StringIO がそれなりに望みの動作に近かったので使ってる

俺みたいな奴には to_s が自然なのかもな
IO として使いたい奴には不自然かも知れん

376 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 08:32:16 ]
>>367
doc.loveruby.net/refm/api/view/library/webrick

377 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 10:39:12 ]
Rubyの公式MLでいい大人が2ちゃんねるの話題だすなよなー
ここは便所の落書きですぞ?暗黙的に提案すればいいのに。

378 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:51:14 ]
最近の「2ch観」は各人でかなり異なるから、一概には言えないよ。
皆、自分のよく読むもの・よく書くことを中心に2chを捉えてるわけだけど、最近はその内容に凄く個人差があるし、
ブログの影響もあって、今や2ch以外も匿名・暴言の山で、2chだけがどうのって感じではなくなってるしね。

別の板も含めた俺の経験では、「2chに関係することを2chの外で口にすること」について
問答無用で「何てイタイんだ!」みたいに反応する奴は、大抵同じIDで草生やしまくってたりする。
あと、基本的に中傷とかの濃度の濃い場所の住人ほど、そういう傾向がある。
たぶんこれは「鏡にどんな人間が映ってますか?」的な話題なんだろう。

379 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:55:33 ]
>>377-378
気にしなくていいですよ
俺みたいな世代は、2chもネットの掲示板の一つだから
便所の落書きでも、情報源には違いないものです



380 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 13:56:49 ]
ああ、あと、>>378の後半は余計だと思うがwその辺が2chたる所以かw

381 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 22:36:07 ]
そういやもう2chが特別な場所である感覚はないね。

382 名前:デフォルトの名無しさん mailto:sage [2008/02/05(火) 23:36:27 ]
2chが特別だったのはログとってなかった頃まで

383 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 00:39:49 ]
お前ら何年いるんだ。

384 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 00:42:37 ]
7年くらいかな?

385 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:28:44 ]
4・5年くらいの人が今は一番多いんじゃね

386 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 02:58:54 ]
>>367
WEBRick でのセッション管理はどこに書いてあるんだ?

387 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 10:27:35 ]
>>386
「自分で書き加えろ」という遠回しなメッセージではないだろうか

388 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 10:39:57 ]
そんなセッションな〜

という駄洒落を思いついた

389 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 10:40:39 ]
shingichuu



390 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 12:16:16 ]
【判決】
Segmentation fault

391 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 13:08:43 ]
その判決はなかったわ

392 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 16:10:18 ]
マルチプラットフォームで輝き始める“Ruby”
www.itmedia.co.jp/enterprise/articles/0802/06/news007.html

393 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 17:44:23 ]
輝き始めるとは失礼だな。
今まで輝いてなかったみたいじゃないか。

394 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 17:53:49 ]
輝くどころか、各方言で骨肉の争いが

395 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 19:36:42 ]
輝き始めていると表現できるのは確かだが、
同じような紅い輝きがあちこちにあって統一性が感じられないのはなんでだぜ

396 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 19:43:32 ]
燃え尽きる直前の煌き

397 名前:デフォルトの名無しさん mailto:sage [2008/02/06(水) 23:43:14 ]
def [(key)]=(value); end
みたいに書きたい!
def []=(value, *keys); end
でもいいけど

398 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:01:40 ]
1.9ではrubyが無いとbuildできないのか?
baserubyを指定しろと怒られる。

399 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 00:26:30 ]
>398
insns.defとかの処理でBASERUBYを使ってるね。
他のマシンで処理しておいて、それを持ってくるって方法もあるけど、
1.8も入れておいた方が無難だと思う。
なお、tarballだと処理したものが入れてあるんじゃないかな。



400 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 03:17:46 ]
>>387
>「自分で書き加えろ」という遠回しなメッセージではないだろうか
WEBrickにsession機能がないのに、ドキュメント書けるわけないだろアホ

401 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 03:33:06 ]
そりゃ>>376が何も言わずにリンク先しめすもんだから、勘違いするじゃない
>>400みたいに言ってくれないと

402 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 09:43:14 ]
いやWEBrick自体にセッション管理機能がないのは周知の上で、
自前でかっこよくセッション機能を組み入れる解説が欲しいのでは
実際問題としてWEBrickの目ぼしい弱点ってそこだけだし

403 名前:デフォルトの名無しさん [2008/02/07(木) 09:52:18 ]
WEBrickのプロクシサーバって、アクセス先のデータを一回全部読み込んでるみたいだが、
ちょっとずつ読み込みながら返してくるようにしてほしい。

404 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 10:03:16 ]
それはあまりRubyっぽい動作ではないな
RubyのIO系はメモリに一気に読み込んでから配列にしたりして1単位ずつ返したりするのが主流

Proxyっぽい動作ではないけどな

405 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 10:28:21 ]
>>403
ああ、完全に同意。あの動作はクソすぎる。

>>404
メモリに一気に読み込むのを主流だとか馬鹿なことをいうのはやめてくれ。
IO#eachという一番わかりやすいメソッドを見てみろよ。

406 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 12:35:30 ]
Net::HTTPResponse#read_body{|str| ...} は全部読み込んでから区切ってた気がする

407 名前:デフォルトの名無しさん [2008/02/07(木) 23:32:50 ]
煽りじゃなくて、Scheme(or Lisp)に有って、Rubyに無い機能ってある?
あるとしたら、その機能って必要?他の機能で代用可能? いろいろ細かいことも教えて。

(初心者スレから誘導されました。)

408 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:38:23 ]
>>407
マクロ

409 名前:デフォルトの名無しさん [2008/02/07(木) 23:42:40 ]
マクロはRubyの他の機能で代用可能ではないの?
あった方が便利?



410 名前:デフォルトの名無しさん mailto:sage [2008/02/07(木) 23:46:19 ]
>>409
何したいのか判らんけど代用可能かどうかの判断つかないんなら聞いても意味無くない?

411 名前:デフォルトの名無しさん [2008/02/07(木) 23:47:38 ]
代用可能ではないと判断した。けど、詳しい人なら代用方法を知っているかもしれない。だから聞いている。

412 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:22:18 ]
>>402
CGI::Session の移植ならあね。
moonrock.jp/~don/ruby/#ID-WEBRICK

413 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:23:15 ]
代用というからには用途による。
あらゆる用途で同じように使えるなら、それはその機能そのものだ。

414 名前:デフォルトの名無しさん [2008/02/08(金) 00:25:30 ]
こういう用途には代用になる、と言えばいい。
すべてを網羅しなくても思いつくだけ述べてくれて構わない。

415 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:30:04 ]
Schemeのマクロは文法拡張ができる。
Rubyでは文法拡張する方法はない。

でいいの?

416 名前:デフォルトの名無しさん [2008/02/08(金) 00:38:31 ]
>>415
それは、例えば新しいif文を定義して、標準のif文と同じように使うことができるようになる、ということ?
それが、Schemeでは出来て、Rubyでは出来ないと。正しい?

417 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:40:22 ]
eval系列の命令でマクロっぽいことはできる。

attr_reader, attr_accessorもそれ

418 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:43:27 ]
>>416
可能だが、どこまで自然になればOKなのかは使う人によるからな・・・

Rubyでも DSLは作られるが、
例えば、brainfu*k を再現するのは無理だろう

419 名前:デフォルトの名無しさん [2008/02/08(金) 00:50:38 ]
lispってlispのソース上でbrainfu*kを再現できるの?()は出てこないの?
インタプリタを作るならlispでもRubyでもできるよね。それとは違うの?



420 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:52:42 ]
>>416
普通の関数なら関数を呼び出す時点で引数の評価は完了しているが、
マクロなら引数を評価するタイミングをマクロ側で制御できる。

ruby でオレオレif を作るなら、if/else の本体を Proc で包んで渡すしかない。
じゃないと オレオレif 関数を読んだ時点で if/else の本体が実行さてしまうから。
それか Proc のシンタックスシュガーであるブロックをうまく使ってごまかすか。


このサスペンダーの人の記事も参考に。
blog.livedoor.jp/dankogai/archives/50996734.html

421 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 00:52:43 ]
>>418
my_if(proc { cond }, proc { then_clause }, proc { else_clause })
は「文法拡張した」とはさすがに言えないだろう






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<208KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef