Difference between revisions of "LlList2List/ja"

From Second Life Wiki
Jump to navigation Jump to search
(Initial translation)
 
m (Correct inaccurate translation)
Line 5: Line 5:
|func=llList2List
|func=llList2List
|return_type=list
|return_type=list
|p1_type=list|p1_name=src|p1_desc=処理対象の配列
|p1_type=list|p1_name=src|p1_desc=処理対象のリスト
|p2_type=integer|p2_name=start
|p2_type=integer|p2_name=start
|p3_type=integer|p3_name=end
|p3_type=integer|p3_name=end
|func_footnote
|func_footnote
|func_desc
|func_desc
|return_text=that is a slice of '''src''' from '''start''' to '''end'''.
|return_text='''src''' のうち '''start''' から '''end''' までの範囲(スライス)
|return_text='''src''' のうち '''start''' から '''end''' までの範囲(スライス)
|spec
|spec

Revision as of 07:02, 26 April 2009

要約

関数: list llList2List( list src, integer start, integer end );

src のうち start から end までの範囲(スライス)を list で返します。

• list src 処理対象のリスト
• integer start 開始インデックス
• integer end 終了インデックス

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

仕様

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

インデックス

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

警告

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

サンプル

<lsl> list numbers = [1, 2, 3, 4, 5]; default {

   state_entry()
   {
       integer index = llListFindList(numbers, [3]);
       if (index != -1)
       {
           list three_four = llList2List(numbers, index, index + 1);
           llOwnerSay(llDumpList2String(three_four, ","));
           // Object: 3,4
       }
   }

}

</lsl>

注意点

範囲とインデックス

インデックス範囲の説明を容易にするため、まず全てのインデックスを正 (プラス) に変換してください。負のインデックスは先頭でなく末尾から数えたもので、負のインデックスは全て対応する正のインデックスを (範囲に収まる限りは) 持ちます。末尾 (最後のインデックス) を過ぎた正のインデックス、先頭 (最初のインデックス) より前の負のインデックスは有効で、その結果は予測可能かつ信頼できます。すなわち、その要素はあたかも存在するかのように扱われますが、それは出力されるまでの間に限ります。

  • start <= end の場合、範囲は start から end となります。 [start, end]
  • start > end の場合、範囲は 0 から end、および start から -1 となります。 [0, end] + [start, -1]
    • end が先頭より前の負のインデックスの場合、範囲は [start, -1] となります。
    • end が末尾より後の正のインデックスの場合、範囲は [0, end] となります。
    • startend がいずれも有効な範囲から外れていた場合、関数は処理すべき範囲を持たないことになります。(事実上、関数の呼び出しは無駄になります。)

詳細は負のインデックスを参照してください。

関連項目

特記事項

Search JIRA for related Issues

Signature

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