#285
310.md
Updated at 2016-11-23 02:08

OptionParserでブロックを使う理由

Oct 23, 2013 From: ronnie@d...

2013/10/23 a a <silentsilent433@g...>

勉強会での内容も少し含めて、ブログを作成させていただきました。http://sekai.hateblo.jp/entry/2013/10/23/003515

あと、中田さんのるびまインタビュー記事も、たのしく拝見させていただきました。http://magazine.rubyist.net/?0009-Hotlinks(郡司さん情報ありがとうございました)

あまりこのスレ(大江戸会議)とは関係ない話題ともなりましたので、 以降の返信は控えます。。すみません。

いえいえ、せっかくのMLなんで、この場でなんでも議論していただくのは大いに歓迎です。

ちなみに、ブログ記事中に「ブログに転送したい」とありますが、Asakusa.rbのMLではqwikWebっていうWikiとMLが合体したみたいな超かっこいいシステムを使っているので、

このML上に流れたメールは全てWeb上でアーカイブされています(Wikiなので、あとからメールの内容を編集することもできます)。

件の須藤さんのメールにリンクしたかったらこちらのURLで良いと思います。

http://qwik.jp/asakusarb/307.html#13d15c6b9990d285f5fea44d1b5b5209

で、今日かくたにさんがポロッと言ってたことなんですが、MLに送信されたメールはメールのタイトルごとにWikiページにまとめられるので、スレ違いの話題は、(このメールのように)メールのタイトルを変更して送信するとよいです。


Akira Matsuda<ronnie@d...>

Oct 23, 2013 From: sorah@t...

追加情報です。

http://twitter.com/n0kada/status/392646677137338368

2013/10/23 Akira Matsuda <ronnie@d...>:

2013/10/23 a a <silentsilent433@g...>

勉強会での内容も少し含めて、ブログを作成させていただきました。http://sekai.hateblo.jp/entry/2013/10/23/003515

あと、中田さんのるびまインタビュー記事も、たのしく拝見させていただきました。http://magazine.rubyist.net/?0009-Hotlinks (郡司さん情報ありがとうございました)

あまりこのスレ(大江戸会議)とは関係ない話題ともなりましたので、 以降の返信は控えます。。すみません。

いえいえ、せっかくのMLなんで、この場でなんでも議論していただくのは大いに歓迎です。

ちなみに、ブログ記事中に「ブログに転送したい」とありますが、Asakusa.rbのMLではqwikWebっていうWikiとMLが合体したみたいな超かっこいいシステムを使っているので、 このML上に流れたメールは全てWeb上でアーカイブされています(Wikiなので、あとからメールの内容を編集することもできます)。 件の須藤さんのメールにリンクしたかったらこちらのURLで良いと思います。http://qwik.jp/asakusarb/307.html#13d15c6b9990d285f5fea44d1b5b5209

で、今日かくたにさんがポロッと言ってたことなんですが、MLに送信されたメールはメールのタイトルごとにWikiページにまとめられるので、スレ違いの話題は、(このメールのように)メールのタイトルを変更して送信するとよいです。

  • -

Akira Matsuda<ronnie@d...>


Shota Fukumori a.k.a. @sora_h - http://sorah.jp/

Oct 23, 2013 From: silentsilent433@g...

かくたにさん、松田さん、そらはさん、

ありがとうございました!せかいです

お二人のコメントを記事にも加筆させていただきました。

須藤さんからのメールの内容もすこし拝借させていただきました。

http://sekai.hateblo.jp/entry/2013/10/23/003515

このスレタイにもなっている「OptionParserでブロックを使う理由」は、

めでたく 「個人の趣味」でファイナルアンサーとさせていただきたいと思います。。!

聞いてみるものですね。皆さんさすがです。

2013/10/23 Shota Fukumori (sora_h) <sorah@t...>:

追加情報です。

http://twitter.com/n0kada/status/392646677137338368

2013/10/23 Akira Matsuda <ronnie@d...>:

2013/10/23 a a <silentsilent433@g...>

勉強会での内容も少し含めて、ブログを作成させていただきました。http://sekai.hateblo.jp/entry/2013/10/23/003515

あと、中田さんのるびまインタビュー記事も、たのしく拝見させていただきました。http://magazine.rubyist.net/?0009-Hotlinks (郡司さん情報ありがとうございました)

あまりこのスレ(大江戸会議)とは関係ない話題ともなりましたので、 以降の返信は控えます。。すみません。

いえいえ、せっかくのMLなんで、この場でなんでも議論していただくのは大いに歓迎です。

ちなみに、ブログ記事中に「ブログに転送したい」とありますが、Asakusa.rbのMLではqwikWebっていうWikiとMLが合体したみたいな超かっこいいシステムを使っているので、 このML上に流れたメールは全てWeb上でアーカイブされています(Wikiなので、あとからメールの内容を編集することもできます)。 件の須藤さんのメールにリンクしたかったらこちらのURLで良いと思います。http://qwik.jp/asakusarb/307.html#13d15c6b9990d285f5fea44d1b5b5209

で、今日かくたにさんがポロッと言ってたことなんですが、MLに送信されたメールはメールのタイトルごとにWikiページにまとめられるので、スレ違いの話題は、(このメールのように)メールのタイトルを変更して送信するとよいです。

  • -

Akira Matsuda<ronnie@d...>

  • -

Shota Fukumori a.k.a. @sora_h - http://sorah.jp/

  • -

archive-> http://qwik.jp/asakusarb/310.htmlML-> asakusarb@q...

Oct 24, 2013 From: nobu.nakada@g...

すいません、最初ARGV.optionsのブロックのことかと勘違いしてしまいました。

2013年10月23日水曜日 a a silentsilent433@g...:

このスレタイにもなっている「OptionParserでブロックを使う理由」は、 めでたく 「個人の趣味」でファイナルアンサーとさせていただきたいと思います。。!

趣味というか、過去の遺物です。

ごく初期のバージョンでは、newのブロックはinstance_evalを使って作られた

OptionParserインスタンスのコンテキストで実行されていたのです。

今でいうDSL的なものですね。

しかし、instance_evalは副作用も大きく、隠れた形で使うのは悪い使い方であるという結論に達し、廃止しました。

OptionParser#initializeがブロックを受けとるのは、その名残りというわけです。

Oct 25, 2013 From: silentsilent433@g...

なかださん、コメントありがとうございます。

>趣味というか、過去の遺物です。

なるほど。。

#すみません、「作者」という単語の意味が不明確な記事を書いていました。以下のように改めました。

(修正前)作者の趣味ということで・・・

(修正後)sugamasaoさん(筆者さん)の趣味ということで・・・

>instance_evalは副作用も大きく、隠れた形で使うのは悪い使い方であるという結論に達し、廃止しました。

なるほど。。

自分が確認した範囲のヒストリ(2002年7月 ※1※2)では廃止前の状態は分からなかったのですが、理由が分かって、勉強になりました。

ありがとうございました。

※1.github

https://github.com/ruby/ruby/blob/6af4aebc954f548298559e49719aec84e8653adc/lib/optparse.rb

※2.リポジトリ

http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/lib/optparse.rb?view=log

2013/10/24 Nobuyoshi Nakada <nobu@r...>:

すいません、最初ARGV.optionsのブロックのことかと勘違いしてしまいました。

2013年10月23日水曜日 a a silentsilent433@g...:

このスレタイにもなっている「OptionParserでブロックを使う理由」は、 めでたく 「個人の趣味」でファイナルアンサーとさせていただきたいと思います。。!

趣味というか、過去の遺物です。

ごく初期のバージョンでは、newのブロックはinstance_evalを使って作られた OptionParserインスタンスのコンテキストで実行されていたのです。 今でいうDSL的なものですね。

しかし、instance_evalは副作用も大きく、隠れた形で使うのは悪い使い方であるという結論に達し、廃止しました。 OptionParser#initializeがブロックを受けとるのは、その名残りというわけです。

  • -

archive-> http://qwik.jp/asakusarb/310.htmlML-> asakusarb@q...

Imports/Qwik/31.md
Imports/Qwik/311.md

Comments0