れむ
2009年03月04日 01:26
これらは組み込み関数にそのままの処理があります。 最大値を取得する llListStatistics(LIST_STAT_MAX, lst); 最小値を取得する llListStatistics(LIST_STAT_MIN, lst); 合計を求める llListStatistics(LIST_STAT_SUM, lst); 平均を求める llListStatistics(LIST_STAT_MEAN, lst); 標準偏差を求める llListStatistics(LIST_STAT_STD_DEV, lst); 文字列置換はこの方が効率的です。 //============================================================================== // 文字列を置換します。 // source 対象の文字列 // search 置換される文字列 // replace 置換する文字列 // 戻り値 置換されたを返します。 //============================================================================== string str_replace(string source, string search, string replace) { return llDumpList2String(llParseStringKeepNulls(source, [ search ], []), replace); } こんな仕組みです。 list lst = llParseStringKeepNulls("abcabcabc", [ "b" ], []); // [ a, ca, ca, c ] string str = llDumpList2String(lst, "*"); // "a*ca*ca*c" あと、コピペされることを前提に i=~(-i)) のような最適化したコードを書いておきましたが、 MONOに変わってから色々と高速化されましたのであまり意味をなさなくなりました。 見にくいだけです。 ちなみに i=~(-i)) はインクリメントと等価です。 i = 0; i = ~i; // ビット反転 0xffffffff (-1) i = -i; // 符号反転 1