Difference between revisions of "LlListInsertList/ja"

From Second Life Wiki
Jump to navigation Jump to search
m (Correct inaccurate translation)
Line 1: Line 1:
{{#vardefine:spec_between|'''start''' が '''dest''' の最後を超えると、'''src''' が '''dest''' の最後に連結されます。NULL 要素は追加されません。これを防ぐためには、最初にリストに空の要素を作成してください。同じような結果が {{LSLGC/ja|Negative Index|負のインデックス}} を使った時に発生します。}}
{{LSL_Function/negative index/ja|true|start}}{{LSL_Function/ja
{{LSL_Function/negative index/ja|true|start}}{{LSL_Function/ja
|func_id=200|func_sleep=0.0|func_energy=10.0
|func_id=200|func_sleep=0.0|func_energy=10.0
|func=llListInsertList|return_type=list
|func=llListInsertList|return_type=list|p1_type=list|p1_name=dest|p2_type=list|p2_name=src|p3_type=integer|p3_name=start
|p1_type=list|p1_name=dest|p1_desc=挿入先のリスト
|p2_type=list|p2_name=src|p2_desc=挿入内容のリスト
|p3_type=integer|p3_name=start|p3_desc=挿入位置のインデックス
|func_footnote
|func_footnote
|func_desc=list 変数の特定の位置に、別の list 変数を挿入して返します。
|func_desc
|return_text='''dest''' '''start''' の位置に '''src''' を挿入したリスト
|return_text='''dest''' の全ての要素を含むが、 '''src''' '''start''' に挿入されたリスト
|spec
|spec
|caveats
|caveats
Line 38: Line 36:
|also_articles
|also_articles
|notes=
|notes=
引数の list 変数は変更されないことに注意してください。処理結果は新規のリストとして戻り値に設定されます。(戻り値を直接操作するのでないならば) 戻り値を変数へ代入しなければなりません。
入力リストは変更されないことに注意してください。その代わりに、リストが新規作成されます。このため、(戻り値を直接操作するのでなければ) これを変数に格納しておくのが重要です。


ヒント: list 変数を別の list 変数の先頭に加える場合は、単純にそれらを連結すればすれば済みます。
ヒント: リスト変数を別のリスト変数の先頭に加える場合は、単純にそれらを連結すればすれば済みます。(新しい要素が入っているリストを先に)


<lsl>
<lsl>

Revision as of 23:01, 4 May 2010

要約

関数: list llListInsertList( list dest, list src, integer start );

dest の全ての要素を含むが、 srcstart に挿入されたリストを list で返します。

• list dest
• list src
• integer start

start には 負のインデックス を使用できます。

仕様

インデックス
先頭 0 -length
末尾 length - 1 -1

インデックス

  • 正のインデックスは先頭から数えます。先頭の要素は 0、末尾の要素は (length - 1) のインデックスを持ちます。
  • 負のインデックスは末尾から数えます。先頭の要素は -length、末尾の要素は -1 のインデックスを持ちます。

警告

  • start が正常なインデックス範囲を外れていても、スクリプトはエラー表示を出さずに処理を続けます。
All Issues ~ Search JIRA for related Bugs

サンプル

<lsl> list numbers = [3, "three", 2, "two", 1, "one"]; default {

   state_entry()
   {
       llOwnerSay(llDumpList2String(numbers, ","));
       // Object: 3,three,2,two,1,one
       integer index = llListFindList(numbers, [2]);
       if (index != -1)
       {
           numbers = llListInsertList(numbers, [2.5, "two and a half"], index);
           llOwnerSay(llDumpList2String(numbers, ","));
           // Object: 3,three,2.500000,two and a half,2,two,1,one
       }
   }

}

</lsl>

注意点

入力リストは変更されないことに注意してください。その代わりに、リストが新規作成されます。このため、(戻り値を直接操作するのでなければ) これを変数に格納しておくのが重要です。

ヒント: リスト変数を別のリスト変数の先頭に加える場合は、単純にそれらを連結すればすれば済みます。(新しい要素が入っているリストを先に)

<lsl> list oldList = ["B", "C", "D"]; list newItem = ["A"]; list newlist = newItem + oldList; </lsl>

関連項目

特記事項

Search JIRA for related Issues

Signature

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