LlListFindListNext/ja

From Second Life Wiki
< LlListFindListNext
Revision as of 12:54, 22 November 2023 by Misaki Vanilla (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

要約

関数: integer llListFindListNext( list src, list test, list instance );

testsrc内でn番目のインスタンスのインデックスを返します。を integer で返します。

• list src 検索対象(ヘイスタック)
• list test 検索する対象(針)
• list instance 返すべきインスタンス(針)

testsrc内で見つからない場合、-1が返されます。
リスト内の最初のエントリのインデックスは0です。
インスタンスパラメータを追加し、n番目の一致を選択できるllListFindListの拡張です。
llListFindListNext(src, test, 0);は、機能的にはllListFindList(src, test);と同等です。
[ 'Resident', 'Alexia', 'Resident', 'Bob', 'Resident', 'Steve', 'Resident', 'Evil' ]のようなリストがある場合、 テストが[ 'Resident' ]で、インスタンスが0、1、2、3の場合、それぞれ0、2、4、6のインデックスが返されます。 4番目以降のインスタンスを選択すると見つからず、-1が返されます。
逆インデックスもサポートされています。インスタンスが-1、-2、-3、-4の場合、それぞれ6、4、2、0が返されます。 -5以下の場合も再び-1が返されます。
testsrcの最後のインデックスで見つかる場合、正のインデックスが返されます(5つのエントリの5番目は4を返します)。

警告

  • 厳密な型一致と大文字小文字の区別が強制されます。
    • "1" != 1
    • "1.0" != 1.0
    • 1 != 1.0
    • "a822ff2b-ff02-461d-b45d-dcd10a2de0c2" != (key)"a822ff2b-ff02-461d-b45d-dcd10a2de0c2"
    • "Justice" != "justice"
  • testempty listの場合、返される値は0であり、-1ではありません。

サンプル

default
{
    touch_end(integer i)
    {
        list myList = [];
        list toFind = [];
        llSay(0, "both lists empty  (expect '0', early abort): " + (string)llListFindListNext(myList, toFind, 0));
        
        myList = [1,2];
        //Consistent with behavior of llListFindList
        llSay(0, "toFind empty (expect immediate match at 0): " + (string)llListFindListNext(myList, toFind, 0));
        llSay(0, "toFind empty (expect immediate match at 1): " + (string)llListFindListNext(myList, toFind, 1));        myList = [];
        toFind = [1,2];
        llSay(0, "myList empty, toFind populated (expect -1): " + (string)llListFindListNext(myList, toFind, 0));
        
        //indices: 0   1   2   3   4   5   6   7   8   9   10   11  12   13
        myList = ["A", 0, "B", 1, "C", 2, "A", 0, "A", 1, "A", "A", 0, <1,2,3>, "c"];
        toFind = ["A", 0];
        llSay(0, "llListFindListNext(myList, toFind, 0) (expect '0'): " + (string)llListFindListNext(myList, toFind, 0));
        llSay(0, "llListFindListNext(myList, toFind, 1) (expect '6'): " + (string)llListFindListNext(myList, toFind, 1));
        llSay(0, "llListFindListNext(myList, toFind, 2) (expect '11'): " + (string)llListFindListNext(myList, toFind, 2));
        llSay(0, "llListFindListNext(myList, toFind, 3) (expect '-1'): " + (string)llListFindListNext(myList, toFind, 3));
        llSay(0, "llListFindListNext(myList, toFind, -1) (expect '11'): " + (string)llListFindListNext(myList, toFind, -1));
        llSay(0, "llListFindListNext(myList, toFind, -2) (expect '6'): " + (string)llListFindListNext(myList, toFind, -2));
        llSay(0, "llListFindListNext(myList, toFind, -3) (expect '0'): " + (string)llListFindListNext(myList, toFind, -3));
        llSay(0, "llListFindListNext(myList, toFind, -4) (expect '-1'): " + (string)llListFindListNext(myList, toFind, -4));        toFind = [3];
        llSay(0, "3 not matched with vector<1,2,3> content (expect '-1'): " + (string)llListFindListNext(myList, toFind, 0));
        toFind = [<1,2,3>];
        llSay(0, "Find a vector:  (expect '13'): " + (string)llListFindListNext(myList, toFind, -1));
        toFind =[<1,2,3>, "c"];
        llSay(0, "Find a vector:  (expect '13'): " + (string)llListFindListNext(myList, toFind, -1));
        toFind =[ "c"];
        llSay(0, "Find last element in reverse  (expect '14'): " + (string)llListFindListNext(myList, toFind, -1));
        llSay(0, "Find last element fwd  (expect '14'): " + (string)llListFindListNext(myList, toFind, 0));
        llSay(0, "Find last element with llListFindList (expect '14'): " + (string)llListFindList(myList, toFind));    }
}

関連項目

関数

•  llSubStringIndex Find a string in another string

特記事項

Search JIRA for related Issues

Signature

function integer llListFindListNext( list src, list test, list instance );
この翻訳は 原文 と比べて古いですか?間違いがありますか?読みにくいですか?みんなで 修正 していきましょう! (手順はこちら)
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。