Difference between revisions of "LlListFindListNext/ja"

From Second Life Wiki
Jump to navigation Jump to search
(Created page with "{{LSL_Function/ja |func=llListFindListNext |func_id=201|func_sleep=0.0|func_energy=10.0 |return_type=integer |Return_text=index of the nth instance of {{LSLP|test}} in {{LSLP|...")
 
m
Line 72: Line 72:
|notes
|notes
|sort=ListFindList
|sort=ListFindList
|cat1=List/ja
|cat1=List
|haiku={{Haiku|List so full of things.|How do I get the right one?|Make the machine count.}}
|haiku={{Haiku|List so full of things.|How do I get the right one?|Make the machine count.}}
|cat2
|cat2

Revision as of 11:58, 2 November 2023

要約

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

index of the nth instance of test in src.を integer で返します。

• list src what to search in (haystack)
• list test what to search for (needles)
• list instance which instance (needle) to return

If test is not found in src, -1 is returned.
The index of the first entry in the list is 0
An expansion of llListFindList which adds an instance parameter to select the nth match to test parameter.
llListFindListNext(src, test, 0); is functionally equivalent to llListFindList(src, test);
Given a list like [ 'Resident', 'Alexia', 'Resident', 'Bob', 'Resident', 'Steve', 'Resident', 'Evil' ] using a test of [ 'Resident' ] and an instance of 0, 1, 2, 3 would return indices of 0, 2, 4, and 6 respectively. Selecting the 4th or greater instance will not be found and will return -1.
Reverse indexing is also supported. Using an instance of -1, -2, -3, -4 would respectively return 6, 4, 2, 0 And -5 and lower would again return -1
If test is found at the last index in src the positive index is returned (5th entry of 5 returns 4).

警告

  • Strict type matching and case sensitivity is enforced.
    • "1" != 1
    • "1.0" != 1.0
    • 1 != 1.0
    • "a822ff2b-ff02-461d-b45d-dcd10a2de0c2" != (key)"a822ff2b-ff02-461d-b45d-dcd10a2de0c2"
    • "Justice" != "justice"
  • If test is an empty list the value returned is 0 rather than -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の関連した項目が参考になるかもしれません。