Project

General

Profile

Actions

Bug #13003

closed

About not Random instance of random: keyword ardument of Array#shuffle!

Added by metanest (Makoto Kishimoto) almost 8 years ago. Updated over 7 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-dev:49892]

Description

Array#shuffle! の random: キーワード引数で、Randomのインスタンスでないような
任意のオブジェクトを渡してしまっていても、(最終的に)rb_random_ulong_limited 中の
rb_funcallv(obj, id_rand, 1, &lim) という呼び出しによりグローバルの rand が
呼び出されて、それっぽく動いてしまいます。

わざわざ random: キーワード引数で渡していながら、変なオブジェクトを渡してしまって
いる、というのは、ユーザのスクリプトのバグである可能性が高いと思うのですが、
それでもそれっぽく動いてしまうようになっている、というのは、そのように意図されて
いるものでしょうか?

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0