RandomExtensions(v1)からの移行

April 1, 2025 · View on GitHub

RandomExtensionsはv2にてNRandomに名称を変更しました。また、APIにいくつかの破壊的変更が含まれています。ここではRandomExtensionsからの変更点を記載します。

名前空間の変更

使用する名前空間がRandomExtensionsからNRandomに変更されました。

// RandomExtensions(v1)
using RandomExtensions;

// NRandom(v2)
using NRandom;

rand.GetItem()の削除

ランダムな要素を一つ取得するGetItem()が削除されました。代わりにNRandom.LinqRandomElement()を利用してください。

IRandom rand;
T[] array;

// RandomExtensions(v1)
T result = rand.GetItem(array);

// NRandom(v2)
T result = array.RandomElement();

IWeightedCollection<T>.GetItem()/GetItems() -> GetRandom()

IWeightedCollection<T>GetItem()/GetItems()GetRandom()に変更されました。

WeightedList<T> list;
Span<T> buffer;

// RandomExtensions(v1)
list.GetItem();
list.GetItems(buffer);

// NRandom(v2)
list.GetRandom();
list.GetRandom(buffer);