array.TakeWhile

現在の配列内の先頭から指定された条件を満たす間の要素を取得します


taiseiue | 2024-11-21

定義

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

TakeWhile(delegate)

現在の配列内の先頭から指定された条件を満たす間の要素を取得します

AliceScript
class Alice.Array;
public array TakeWhile(delegate condition);
引数
condition 要素が満たす式
戻り値
array 先頭からconditionを満たす間の要素を含む配列

対応
AliceScript 2.2、2.3、3.0
AliceSister 2.2、2.3、3.0
Losetta 0.9、0.10

以下は、123,4,0の先頭から4未満の要素を取得します。

AliceScript
var a = [1,2,3,4,0];
print(a.TakeWhile(item => item < 4)); // 出力例 : [1,2,3]

この例で注目されたいのは最後の0は取得される要素に含まれないことです。条件を満たさないすべての要素を取得したい場合はWhereメソッドを使用してくださ たとえば、次のようにします。

AliceScript
var a = [1,2,3,4,0];
print(a.Where(item => !(item < 4)); // 出力例 : [1,2,3,0]

ちなみに、OrderByメソッドを使用して並べ替えた後でこのメソッドを使用するという方法もあります。

AliceScript
var a = [1,2,3,4,0];
print(a.OrderBy().SkipWhile(item => item < 4)); // 出力例 : [0,1,2,3]