array.Slice

現在の配列内の、ある範囲の要素の簡易コピーを作成します。


taiseiue | 2024-11-21

定義

名前空間: Alice
アセンブリ: Losetta.Runtime.dll
ソースコード: Alice.Core.Array.cs

プレビュー

この記事では、現在開発中のAlice vNEXTに実装される予定のAPIについて説明しています。 このAPIは予告なく削除および変更される可能性があります。

Slice(number)

現在の配列内の、指定された場所以降の要素の簡易コピーを作成します。

AliceScript
class Alice.Array;
public array Slice(number start);
引数
start 要素の簡易コピーの作成を開始する位置。詳しくは説明を参照してください。
戻り値
array 現在の配列の、指定された範囲の要素の簡易をコピーを格納する新しい配列

対応
AliceScript
AliceSister
Losetta

Slice(Range)

現在の配列内の、Rangeオブジェクトで指定された範囲の要素の簡易コピーを作成します。

AliceScript
class Alice.Array;
public array Slice(Range range);
引数
range 要素の簡易コピーの作成を行う範囲。詳しくは説明を参照してください。
戻り値
array 現在の配列の、指定された範囲の要素の簡易をコピーを格納する新しい配列

対応
AliceScript
AliceSister
Losetta

Slice(number,number)

現在の配列内の、指定された範囲の要素の簡易コピーを作成します。

AliceScript
class Alice.Array;
public array Slice(number start, number end);
引数
start 要素の簡易コピーの作成を開始する位置。詳しくは説明を参照してください。
end 要素の簡易コピーの作成を終了する位置。詳しくは説明を参照してください。
戻り値
array 現在の配列の、指定された範囲の要素の簡易をコピーを格納する新しい配列

対応
AliceScript
AliceSister
Losetta

説明

このメソッドは、現在の配列の一部を簡易コピーした新しい配列を作成します。

startおよびendは配列中のインデックスを指定します。 ただし、負の値を指定した場合は配列の末尾のインデックスにその値を加算したインデックスとして扱われます。例えば、配列の長さが5で、値を-1にしたとき、5+(-1)より、インデックスは4と解されます。

このメソッドの計算量は\(O(n)\)です。ここで、\(n\)は配列の要素数です。

次の例では、配列の一部をコピーして表示しています。

AliceScript
var ary = [1, 2, 3, 4, 5];

// 2番目(インデックス=1)から4番目(インデックス=3)の手前までを取得する
print(ary.Slice(1, 3)); //出力: [2,3]