https://bugs.ruby-lang.org/
https://bugs.ruby-lang.org/favicon.ico?1711330511
2010-12-16T16:29:40Z
Ruby Issue Tracking System
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=14692
2010-12-16T16:29:40Z
matz (Yukihiro Matsumoto)
matz@ruby.or.jp
<ul></ul><p>=begin<br>
まつもと ゆきひろです</p>
<p>In message "Re: <a href="/issues/4043">[ruby-dev:42564]</a> [Ruby 1.9-Feature#4043][Open] グローバル関数current_classの提案"<br>
on Thu, 11 Nov 2010 12:50:42 +0900, Makoto Kishimoto <a href="mailto:redmine@ruby-lang.org" class="email">redmine@ruby-lang.org</a> writes:</p>
<p>|カレントクラス(MRIの内部でいうところのcref)をRubyから調べられるメソッドcurrent_classを提案します。<br>
|グローバル関数(Kernelのプライベートメソッド)にする理由は、self(ないしなんらかのオブジェクト)とは関係ない値を返すメソッドであるため、です。</p>
<p>そういう機能の追加には賛成しますが、グローバル関数は増やした<br>
くありません。どうするのがよいでしょうね。</p>
<p>=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=14766
2010-12-21T11:21:46Z
metanest (Makoto Kishimoto)
<ul></ul><p>=begin<br>
きしもとです</p>
<blockquote>
<p>|カレントクラス(MRIの内部でいうところのcref)をRubyから調べられるメソッドcurrent_classを提案します。<br>
|グローバル関数(Kernelのプライベートメソッド)にする理由は、self(ないしなんらかのオブジェクト)とは関係ない値を返すメソッドであるため、です。</p>
<p>そういう機能の追加には賛成しますが、グローバル関数は増やした<br>
くありません。どうするのがよいでしょうね。</p>
</blockquote>
<p>さがしてみたところ、Module の特異メソッドに、レシーバとは関係ない、<br>
現在のコンテキストについて動作するものがありました。</p>
<p>なので、Module の特異メソッドではどうでしょうか?</p>
<p>=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=14767
2010-12-21T11:53:06Z
matz (Yukihiro Matsumoto)
matz@ruby.or.jp
<ul></ul><p>=begin<br>
まつもと ゆきひろです</p>
<p>In message "Re: <a href="https://blade.ruby-lang.org/ruby-dev/42834">[ruby-dev:42834]</a> Re: [Ruby 1.9-Feature#4043][Open] グローバル関数current_classの提案"<br>
on Tue, 21 Dec 2010 11:21:32 +0900, "KISHIMOTO, Makoto" <a href="mailto:ksmakoto@dd.iij4u.or.jp" class="email">ksmakoto@dd.iij4u.or.jp</a> writes:</p>
<p>|> そういう機能の追加には賛成しますが、グローバル関数は増やした<br>
|> くありません。どうするのがよいでしょうね。<br>
|<br>
|さがしてみたところ、Module の特異メソッドに、レシーバとは関係ない、<br>
|現在のコンテキストについて動作するものがありました。<br>
|<br>
|なので、Module の特異メソッドではどうでしょうか?</p>
<p>その場合、Module.current_class という名前になるんですかね。</p>
<p>=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=14770
2010-12-21T17:37:37Z
metanest (Makoto Kishimoto)
<ul></ul><p>=begin<br>
きしもとです</p>
<blockquote>
<p>|> そういう機能の追加には賛成しますが、グローバル関数は増やした<br>
|> くありません。どうするのがよいでしょうね。<br>
|<br>
|さがしてみたところ、Module の特異メソッドに、レシーバとは関係ない、<br>
|現在のコンテキストについて動作するものがありました。<br>
|<br>
|なので、Module の特異メソッドではどうでしょうか?</p>
<p>その場合、Module.current_class という名前になるんですかね。</p>
</blockquote>
<p>Module.current_module のほうがいいですね。Module を指すことがあること<br>
とも一致します。</p>
<p>元々「メタプログラミングRuby」でそう呼んでるから、という理由だけで命名<br>
してますので、そちらとズレる、というのが問題点と言えば言えそうです。</p>
<p>=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=14776
2010-12-22T01:35:58Z
matz (Yukihiro Matsumoto)
matz@ruby.or.jp
<ul></ul><p>=begin<br>
まつもと ゆきひろです</p>
<p>In message "Re: <a href="https://blade.ruby-lang.org/ruby-dev/42838">[ruby-dev:42838]</a> Re: [Ruby 1.9-Feature#4043][Open] グローバル関数current_classの提案"<br>
on Tue, 21 Dec 2010 17:37:16 +0900, "KISHIMOTO, Makoto" <a href="mailto:ksmakoto@dd.iij4u.or.jp" class="email">ksmakoto@dd.iij4u.or.jp</a> writes:</p>
<p>|> その場合、Module.current_class という名前になるんですかね。<br>
|<br>
|Module.current_module のほうがいいですね。Module を指すことがあること<br>
|とも一致します。<br>
|<br>
|元々「メタプログラミングRuby」でそう呼んでるから、という理由だけで命名<br>
|してますので、そちらとズレる、というのが問題点と言えば言えそうです。</p>
<p>current_moduleという名前なのにクラスを返すこともあるというの<br>
はやや抵抗がありますね。current_classという別名を用意しても<br>
良いのですが、他にアイディアはありませんかね。</p>
<p>=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=14777
2010-12-22T02:51:42Z
keiju (Keiju Ishitsuka)
keiju@ishitsuka.com
<ul></ul><p>=begin<br>
けいじゅ@いしつかです.</p>
<p>In <a href="https://blade.ruby-lang.org/ruby-dev/42845">[ruby-dev:42845]</a> the message: "<a href="https://blade.ruby-lang.org/ruby-dev/42845">[ruby-dev:42845]</a> Re: [Ruby<br>
1.9-Feature#4043][Open] グローバル関数current_classの提案", on Dec/22<br>
01:35(JST) Yukihiro Matsumoto writes:</p>
<blockquote>
<p>まつもと ゆきひろです</p>
</blockquote>
<blockquote>
<p>current_moduleという名前なのにクラスを返すこともあるというの<br>
はやや抵抗がありますね。current_classという別名を用意しても<br>
良いのですが、他にアイディアはありませんかね。</p>
</blockquote>
<p>モデリング界では,</p>
<p>descriptor</p>
<p>を使っています. instance との対語として使います. インスタンスがクラス<br>
のインスタンスに限らないのでそのような呼び名が出てきたんだと思います.<br>
まあ, 今回の理由と同じでは?</p>
<p>__<br>
---------------------------------------------------->> 石塚 圭樹 <<---<br>
---------------------------------->> e-mail: <a href="mailto:keiju@ishitsuka.com" class="email">keiju@ishitsuka.com</a> <<---</p>
<p>=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=14783
2010-12-22T09:37:46Z
kosaki (Motohiro KOSAKI)
kosaki.motohiro@gmail.com
<ul></ul><p>=begin</p>
<blockquote>
<blockquote>
<p>current_moduleという名前なのにクラスを返すこともあるというの<br>
はやや抵抗がありますね。current_classという別名を用意しても<br>
良いのですが、他にアイディアはありませんかね。</p>
</blockquote>
<p>モデリング界では,</p>
<p>descriptor</p>
<p>を使っています. instance との対語として使います. インスタンスがクラス<br>
のインスタンスに限らないのでそのような呼び名が出てきたんだと思います.<br>
まあ, 今回の理由と同じでは?</p>
</blockquote>
<p>小崎です</p>
<p>個人的な経験ですが、descriptorという用語はUnixのファイルディスクリプタの<br>
イメージがとても強いらしく違う意味で使おうとすると強い抵抗にあいました。今でも事情はあんまり変わっていないのではないかしらん</p>
<p>=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=14784
2010-12-22T09:58:53Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<ul></ul><p>=begin<br>
こんにちは、なかむら(う)です。</p>
<p>In message "<a href="https://blade.ruby-lang.org/ruby-dev/42847">[ruby-dev:42847]</a> Re: [Ruby 1.9-Feature#4043][Open] グローバル関数current_classの提案"<br>
on Dec.22,2010 09:37:33, <a href="mailto:kosaki.motohiro@gmail.com" class="email">kosaki.motohiro@gmail.com</a> wrote:</p>
<blockquote>
<p>個人的な経験ですが、descriptorという用語はUnixのファイルディスクリプタの<br>
イメージがとても強いらしく違う意味で使おうとすると強い抵抗にあいました。今でも事情はあんまり変わっていないのではないかしらん</p>
</blockquote>
<p>私はUnix界の人じゃないので抵抗感が薄いだけかもしれないですけ<br>
ど、Moduleクラスの特異メソッドであるなら Module. が頭に毎回付<br>
くわけなので、ファイルディスクリプタとは絶対に違うものだよ感<br>
出まくりだから問題ないんじゃないでしょうか。</p>
<a name="それでは"></a>
<h2 >それでは。<a href="#それでは" class="wiki-anchor">¶</a></h2>
<p>U.Nakamura <a href="mailto:usa@garbagecollect.jp" class="email">usa@garbagecollect.jp</a></p>
<p>=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=14785
2010-12-22T10:19:11Z
usa (Usaku NAKAMURA)
usa@garbagecollect.jp
<ul></ul><p>=begin<br>
こんにちは、なかむら(う)です。</p>
<p>In message "<a href="https://blade.ruby-lang.org/ruby-dev/42845">[ruby-dev:42845]</a> Re: [Ruby 1.9-Feature#4043][Open] グローバル関数current_classの提案"<br>
on Dec.22,2010 01:35:44, <a href="mailto:matz@ruby-lang.org" class="email">matz@ruby-lang.org</a> wrote:</p>
<blockquote>
<p>current_moduleという名前なのにクラスを返すこともあるというの<br>
はやや抵抗がありますね。current_classという別名を用意しても<br>
良いのですが、他にアイディアはありませんかね。</p>
</blockquote>
<p>単に Module.current というのが真っ先に脳裏に浮かびました。<br>
あまりに一般的に過ぎるかという気はするのですが、いちおう候補<br>
に出しておきます。</p>
<a name="それでは"></a>
<h2 >それでは。<a href="#それでは" class="wiki-anchor">¶</a></h2>
<p>U.Nakamura <a href="mailto:usa@garbagecollect.jp" class="email">usa@garbagecollect.jp</a></p>
<p>=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=14791
2010-12-22T12:57:54Z
tarui (Masaya Tarui)
tarui@prx.jp
<ul></ul><p>=begin<br>
たるいです。</p>
<p>ユースケースがRubyの理解という事だし、どこの所属かを考えたら</p>
<p>RubyVM.current_class</p>
<p>が良かったりしませんか?<br>
候補の一つとして。</p>
<p>--<br>
樽家昌也(Masaya TARUI)<br>
No Tool,No Life.</p>
<p>=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=14793
2010-12-22T13:30:29Z
matz (Yukihiro Matsumoto)
matz@ruby.or.jp
<ul></ul><p>=begin<br>
まつもと ゆきひろです</p>
<p>In message "Re: <a href="https://blade.ruby-lang.org/ruby-dev/42850">[ruby-dev:42850]</a> Re: [Ruby 1.9-Feature#4043][Open] グローバル関数current_classの提案"<br>
on Wed, 22 Dec 2010 12:57:26 +0900, Masaya TARUI <a href="mailto:tarui@prx.jp" class="email">tarui@prx.jp</a> writes:</p>
<p>|ユースケースがRubyの理解という事だし、どこの所属かを考えたら<br>
|<br>
|RubyVM.current_class<br>
|<br>
|が良かったりしませんか?<br>
|候補の一つとして。</p>
<p>なんとなくRubyVMってのはVM固有の機能を保持してて欲しいと思い<br>
ます。メソッドの定義先というのは個別のVMに依存する機能ではな<br>
いわけで。</p>
<p>=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=14807
2010-12-23T12:37:03Z
tarui (Masaya Tarui)
tarui@prx.jp
<ul></ul><p>=begin<br>
たるいです。</p>
<p>個人的にはRubyVMって一般的過ぎてもう少し抽象的なもの、つまり<br>
「RubyのVMが持っているべき特徴」 を示すイメージなのですが、<br>
あくまでYARVを指すことには変わりないという事ですね。</p>
<p>一つ、一般的な実行環境を示すモジュールを用意して幾つか要素をその中に<br>
押し込めたい気がしますが、いまここでそれをいうのも大げさだと思うので、、</p>
<p>Module.current</p>
<p>に一票に変えておきます。</p>
<p>2010年12月22日13:28 Yukihiro Matsumoto <a href="mailto:matz@ruby-lang.org" class="email">matz@ruby-lang.org</a>:</p>
<blockquote>
<p>なんとなくRubyVMってのはVM固有の機能を保持してて欲しいと思い<br>
ます。メソッドの定義先というのは個別のVMに依存する機能ではな<br>
いわけで。</p>
</blockquote>
<p>--<br>
樽家昌也(Masaya TARUI)<br>
No Tool,No Life.</p>
<p>=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=14817
2010-12-23T17:21:05Z
matz (Yukihiro Matsumoto)
matz@ruby.or.jp
<ul></ul><p>=begin<br>
まつもと ゆきひろです</p>
<p>In message "Re: <a href="https://blade.ruby-lang.org/ruby-dev/42861">[ruby-dev:42861]</a> Re: [Ruby 1.9-Feature#4043][Open] グローバル関数current_classの提案"<br>
on Thu, 23 Dec 2010 12:36:51 +0900, Masaya TARUI <a href="mailto:tarui@prx.jp" class="email">tarui@prx.jp</a> writes:</p>
<p>|個人的にはRubyVMって一般的過ぎてもう少し抽象的なもの、つまり<br>
|「RubyのVMが持っているべき特徴」 を示すイメージなのですが、<br>
|あくまでYARVを指すことには変わりないという事ですね。</p>
<p>そうですね。たとえばVMのないRuby実行環境もありえるわけで。</p>
<p>=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=15779
2011-02-11T17:53:45Z
metanest (Makoto Kishimoto)
<ul><li><strong>File</strong> <a href="/attachments/1486">patch-current-class</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/1486/patch-current-class">patch-current-class</a> added</li></ul><p>=begin<br>
Module.current に +1</p>
<p>新しいパッチ作りました<br>
=end</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=23886
2012-02-15T17:43:13Z
metanest (Makoto Kishimoto)
<ul></ul><p>きしもとです</p>
<p>この件、現状としては、現在のカレントクラス(cref)を返す、Module の<br>
特異メソッド Module.current の提案、となっているつもりですが、<br>
採用を妨げるものとしては何がありますでしょうか?</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=23887
2012-02-15T18:05:09Z
shyouhei (Shyouhei Urabe)
shyouhei@ruby-lang.org
<ul></ul><p>Makoto Kishimoto wrote:</p>
<blockquote>
<p>採用を妨げるものとしては何がありますでしょうか?</p>
</blockquote>
<p>やっぱ名前じゃないですかねえ。機能に反対している人は少ないように思われます。</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=24109
2012-02-25T09:53:11Z
metanest (Makoto Kishimoto)
<ul></ul><p>きしもとです</p>
<p>On Wed, 15 Feb 2012 18:05:12 +0900<br>
Shyouhei Urabe <a href="mailto:shyouhei@ruby-lang.org" class="email">shyouhei@ruby-lang.org</a> wrote:</p>
<blockquote>
<p>Issue <a class="issue tracker-2 status-6 priority-4 priority-default closed" title="Feature: グローバル関数current_classの提案 (Rejected)" href="https://bugs.ruby-lang.org/issues/4043">#4043</a> has been updated by Shyouhei Urabe.</p>
<p>Makoto Kishimoto wrote:</p>
<blockquote>
<p>採用を妨げるものとしては何がありますでしょうか?</p>
</blockquote>
<a name="やっぱ名前じゃないですかねえ機能に反対している人は少ないように思われます"></a>
<h2 >やっぱ名前じゃないですかねえ。機能に反対している人は少ないように思われます。<a href="#やっぱ名前じゃないですかねえ機能に反対している人は少ないように思われます" class="wiki-anchor">¶</a></h2>
<p>Feature <a class="issue tracker-2 status-6 priority-4 priority-default closed" title="Feature: グローバル関数current_classの提案 (Rejected)" href="https://bugs.ruby-lang.org/issues/4043">#4043</a>: グローバル関数current_classの提案<br>
<a href="https://bugs.ruby-lang.org/issues/4043" class="external">https://bugs.ruby-lang.org/issues/4043</a></p>
</blockquote>
<p>さがしてみたところ Module.current で反対意見は見つからないようですし、<br>
見た記憶もないです。</p>
<p>名前(というか提案当初はグローバル関数にすること)を問題にされたのは<br>
まつもとさんだったと思うのですが、Module の特異メソッド Module.current で、<br>
何か問題はありますでしょうか>まつもとさん</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=25102
2012-03-25T14:27:48Z
mame (Yusuke Endoh)
mame@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Assigned</i></li><li><strong>Assignee</strong> set to <i>matz (Yukihiro Matsumoto)</i></li></ul>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=27392
2012-06-24T17:10:13Z
metanest (Makoto Kishimoto)
<ul><li><strong>File</strong> <a href="/attachments/2809">No4043.pdf</a> <a class="icon-only icon-download" title="Download" href="/attachments/download/2809/No4043.pdf">No4043.pdf</a> added</li></ul><p><a href="https://blade.ruby-lang.org/ruby-dev/45708">[ruby-dev:45708]</a> コンペ向けの資料を添付</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=27639
2012-07-01T09:50:51Z
mame (Yusuke Endoh)
mame@ruby-lang.org
<ul></ul><p>受け取りました。具体的なユースケースが書いてないので、そこでひっかかってしまうかも。<br>
「まつもとさんは機能自体には賛成していて、名前の議論だけとなっている」と明示するとよいかも。</p>
Ruby master - Feature #4043: グローバル関数current_classの提案
https://bugs.ruby-lang.org/issues/4043?journal_id=28312
2012-07-23T22:21:58Z
mame (Yusuke Endoh)
mame@ruby-lang.org
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Rejected</i></li></ul><p>きしもとさん</p>
<p>7/21 の開発者会議にて、残念ながらこの機能は不採択と判定されました。</p>
<p>以下の 3 つの理由によります。</p>
<ul>
<li>
<p>「Ruby の理解が進む」というユースケースは弱い</p>
</li>
<li>
<p>Module のクラスメソッドはいまいち (Module.nesting で後悔したそうです)</p>
</li>
<li>
<p>implementation detail なので他実装で同等に実装できないかもしれない</p>
<ul>
<li>具体的には mruby で困るらしい</li>
</ul>
</li>
</ul>
<p>--<br>
Yusuke Endoh <a href="mailto:mame@tsg.ne.jp" class="email">mame@tsg.ne.jp</a></p>