[#42735] [Ruby 1.9-Feature#4147][Open] Array#sample で重みを指定したい — Yoji Ojima <redmine@...>

Feature #4147: Array#sample で重みを指定したい

52 messages 2010/12/10
[#42791] [Ruby 1.9-Feature#4147][Assigned] Array#sample で重みを指定したい — Shyouhei Urabe <redmine@...> 2010/12/18

チケット #4147 が更新されました。 (by Shyouhei Urabe)

[#42800] Re: [Ruby 1.9-Feature#4147][Assigned] Array#sample で重みを指定したい — Masaya TARUI <tarui@...> 2010/12/19

> じゃあ反対ないので実装はともかく、この仕様は基本入れる方向で考えましょう。反対の人は意思表示お早めに。

[#42763] [Ruby 1.9-Bug#4159][Open] test_block_variables(TestRipper::ParserEvents) が失敗する — Kouhei Yanagita <redmine@...>

Bug #4159: test_block_variables(TestRipper::ParserEvents) が失敗する

8 messages 2010/12/14

[#42894] [Ruby 1.8-Feature#4207][Open] これから「1.8.8」の話をしよう -- 1.8がこの先生きのこるには — Shyouhei Urabe <redmine@...>

Feature #4207: これから「1.8.8」の話をしよう -- 1.8がこの先生きのこるには

24 messages 2010/12/26
[#42935] Re: [Ruby 1.8-Feature#4207][Open] これから「1.8.8」の話をしよう -- 1.8がこの先生きのこるには — Kenta Murata <muraken@...> 2011/01/04

むらたです。

[#42936] Re: [Ruby 1.8-Feature#4207][Open] これから「1.8.8」の話をしよう -- 1.8がこの先生きのこるには — Kenta Murata <muraken@...> 2011/01/05

むらたです。

[ruby-dev:42695] Re: [Ruby 1.9-Bug#4120][Assigned] 2 failures on test/mkmf/test_convertible.rb

From: "U.Nakamura" <usa@...>
Date: 2010-12-06 13:48:18 UTC
List: ruby-dev #42695
こんにちは、なかむら(う)です。

In message "[ruby-dev:42694] Re: [Ruby 1.9-Bug#4120][Assigned] 2 failures on test/mkmf/test_convertible.rb"
    on Dec.06,2010 21:09:36, <kosaki.motohiro@gmail.com> wrote:
> >> VCでは以下のコードがエラーにならずに警告しか出ないからなのですが、何を
> >> 考えているんでしょうね。
> >
> > 規格上これをエラーにしないといけないというルールはないような
> > 気がするので[要確認]、普通に同じ幅なので警告で許してやろうと
> > いうことでしょうかねえ。
> 
> 最近はC言語の規格もインターネットで閲覧できるんですね。インターネット万歳
> 
> http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1256.pdf

実はその後自分でもC99眺めてたんですが、実際に矛盾が起きた時ど
うするかは Annex J.2 Undefined behavior の方にあります。
つまり、

  In a context requiring two function types to be compatible, they do not have
  compatible return types, or their parameters disagree in use of the ellipsis terminator
  or the number and type of parameters (after default argument promotion, when there
  is no parameter type list or when one type is specified by a function definition with an
  identifier list) (6.7.5.3).

の部分です。
というわけで、未定義動作のリストにこうやって挙げられているわ
けなので、矛盾する二つの関数宣言子が存在するコードがどのよう
に扱われるかは未定義です。鼻から悪魔。


> > なので、だとしたら、これがエラーになることを利用する奴が悪い
> > ということになるんじゃないでしょうか。

というわけで、悪いどころじゃなくて、宇宙が滅ぶかもしれないコ
ードを書いてそれを処理系に食わせるなんて信じられない!


> とはいえ、VCを無視するのは現実的ではないのでテストケース側を直すことに賛成します。

まあ、そう簡単にC処理系が宇宙を滅ぼしたりはしないと思うので、
実際に現状rubyがサポートしてる処理系ごとにどうなるのか情報を
集めて対応するしかないかなと思います。
さすがにエラーも出さなきゃ警告すらしない、という処理系はない
と信じたいので、警告かもしれないということを押さえさえすれば
大丈夫じゃないですかね。


それでは。
-- 
U.Nakamura <usa@garbagecollect.jp>


In This Thread