Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Array::sample()メソッドの使い方

sampleメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

sampleメソッドは、配列の中からランダムに一つ、または指定された数の要素を選択して取り出すメソッドです。このメソッドは元の配列の内容を変更しない「非破壊的」な操作であり、新しい要素または配列を返します。

引数を指定せずにsampleメソッドを呼び出すと、配列の中から無作為に選ばれた一つの要素が返されます。例えば、[1, 2, 3, 4, 5].sampleとすると、その都度1から5のいずれかの数字がランダムに選ばれます。もし配列が空の場合はnilを返します。

整数nを引数として指定した場合は、配列の中からランダムに選ばれたn個の要素を、重複しない形で新しい配列として返します。選ばれる要素は必ず異なり、指定された数だけ異なる要素が取り出されます。もしnが配列の全要素数を超えるような場合でも、配列内のすべての要素がランダムな順序で含まれた新しい配列が返されます。この機能は、元の配列をシャッフルすることなく、特定数のユニークな要素をランダムに抽出したい場合に非常に便利です。

このメソッドは、例えば、アンケートの対象者を無作為に選出したり、ランダムなテストデータを生成したりするなど、配列から特定の条件で要素を抽出したい様々な場面で役立ちます。

構文(syntax)

1[1, 2, 3, 4, 5].sample

引数(parameters)

n, random: prng

  • n: サンプルとして取得したい要素の数を指定します。省略した場合、要素は1つだけ取得されます。
  • random: prng: 乱数生成器を指定します。省略した場合は、デフォルトの乱数生成器が使用されます。

戻り値(return)

Array | Object | nil

指定された配列からランダムに要素を1つ取得した場合はその要素、指定された個数だけ要素を取得した場合はその要素を格納した新しい配列を返します。指定された個数が配列の要素数を超える場合や、配列が空の場合はnilを返します。

関連コンテンツ

関連プログラミング言語