Main Content

hasnext

ValueIterator に 1 つ以上の使用可能な値があるかどうかを判別

説明

tf = hasnext(ValIter) は、ValueIter に 1 つ以上の使用可能な値がある場合に logical 1 (true) を返し、そうでない場合に logical 0 (false) を返します。

すべて折りたたむ

reduce 関数の while ループ内で関数 hasnextgetnext を使用し、ValueIterator オブジェクトから値を繰り返し取得します。以下に例を示します。

function MeanDistReduceFun(sumLenKey, sumLenIter, outKVStore)
    sumLen = [0 0];
    while hasnext(sumLenIter)
        sumLen = sumLen + getnext(sumLenIter);
    end
    add(outKVStore, 'Mean', sumLen(1)/sumLen(2));
end

値が利用可能かどうか確認するために、常に hasnext を呼び出してから getnext を呼び出します。ValueIterator オブジェクト内に値が残っていないときに getnext を呼び出した場合、mapreduce はエラーを返します。

入力引数

すべて折りたたむ

中間の値反復子。ValueIterator オブジェクトとして指定します。このオブジェクトは、関数 mapreduce の実行時に自動的に作成されます。reduce 関数への 2 番目の入力で ValueIterator オブジェクトの変数名を指定します。この変数名は、関数 hasnext および getnext で使用されます。

詳細については、ValueIterator を参照してください。

バージョン履歴

R2014b で導入