QRコード
QRCODE
アクセスカウンタ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。解除は→こちら
現在の読者数 0人
オーナーへメッセージ
slMame › 一日一膳腹八分目 › 忘れない為に。。 › lslのlistで連想配列もどき・・
2009年08月31日

lslのlistで連想配列もどき・・

listがあまりにも不便なので、便利物です。

hash_add(string 名称 , list 値のリスト)
戻りはありません。名称を識別名にして、値のリストを登録します。

list hash(string 名称)
名称を登録済みの内容から検索して、見つかった値のリストを返します。

list hash_remove(string 名称)
名称を登録済みの内容から検索して、見つかった値のリストを返した上で、登録内容から削除します。
popの代用品の様な動き。

hash_clear()
登録内容を全消しします。


内容的には、与えられた名前,listの長さ,値のリスト・・・が順番に並んでいて、名前を探して見つかったものを出してくるだけの簡単なものです。
本当はなんと言う名前なんでしょう。。無学が曝されます。。


 
//ハッシュ?の登録
list tmpHash=[];
hash_add(string mykey,list l)
{
mykey="LSL_TMP_HASH"+mykey;
integer i=llListFindList(tmpHash,[mykey]);
if (i<0)
{
tmpHash+=[mykey,llGetListLength(l)]+l;
return;
}
else
{
integer len=llList2Integer(tmpHash,i+1);
tmpHash=llListReplaceList(tmpHash,[llGetListLength(l)]+l,i+1,i+len+1);
}
}
//ハッシュ?の削除
//削除されたリストを返す
list hash_remove(string mykey)
{
mykey="LSL_TMP_HASH"+mykey;
integer i=llListFindList(tmpHash,[mykey]);
if (i<0)
{
return [];
}
else
{
integer len=llList2Integer(tmpHash,i+1);
list l=llList2List(tmpHash,i+2,i+len+1);
tmpHash=llListReplaceList(tmpHash,[],i,i+len+1);
return l;
}
}
//ハッシュ?の読み出し
list hash(string mykey)
{
mykey="LSL_TMP_HASH"+mykey;
integer i=llListFindList(tmpHash,[mykey]);
if (i<0) return [];
integer len=llList2Integer(tmpHash,i+1);
return llList2List(tmpHash,i+2,i+len+1);
}
//ハッシュ?の全消し
hash_clear()
{
tmpHash=[];
}
 
 


同じカテゴリー(忘れない為に。。)の記事画像
パーティクル設定項目について
同じカテゴリー(忘れない為に。。)の記事
 他人が座っているプリムの情報取得/REZした物の情報取得 (2016-09-12 05:52)
 llCastRay()実装 (2011-09-21 20:59)
 Visual C# スキャナーから画像を取り込み (2011-01-08 22:56)
 lsl 乱数生成器 (2010-02-04 17:51)
 PIの比較で90度と270度を切り分けるには・・ (2009-08-09 17:19)
 LSLコード色づけ~これはすごいですね (2009-08-08 11:52)

Posted by RBK Drachnyd(しお) at 21:30│Comments(2)忘れない為に。。

Comments

ども、ご無沙汰してます

これだとリニアサーチで実装した連想配列で、ハッシュとは言わないですねぇ…(llListFindListはリニアサーチと想像されるので)

ハッシュについては、以下を参照。
http://ja.wikipedia.org/wiki/ハッシュテーブル

なお、リンデンの LSL Portal サイトの Script Library にはいろいろ便利なものがありますのでご参照を。

その他の突っ込みどころについては in-world にて^^;
Posted by ぺる at 2009年09月01日 17:34
やっと仕事が一段落いたしました。

ありがとうございます。m(__)m
無学について、でひとつ日記がかけそうな気がする今日この頃です^^;
Posted by RBKRBK at 2009年09月25日 14:45
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。