左メニュー
メニュー 用語集 - これはどういう意味?用語解説 Q&A - よくある質問、定番解説、公式サポートに関する情報 トラブル・シューティング - トラブル・シューティング情...
state構成のパターンの話から、設定ファイルを読み込む際の処理の話になりました。
よく使われる設定の記述方法として、「名前=値」という書き方で設定名に対する値を指定する記法があります。この記法の設定ファイルから名前と値を取得する場合、LSLではいくつかのやり方があります。
llParseString2Listを使うと、文字列に対して指定した文字で分割した結果をリスト変数として取得できます。
たとえば「名前=値」という記法の場合、= で分割すればよさそうです。
parsed_value = llParseString2List( data, [ "=" ], [] );ただし、この方法だと「値」の側に=が含まれている場合、そこもすべて分割して別々のリスト要素になってしまいます。そのばらばらになったものを、再度=で結合して1つの文字列に戻すという方法もありますが、スマートな方法とは言えません。
したがって、llParseString2Listが使えるのは「値に=(区切り文字)が含まれない」という前提条件が成り立つ場合のみ、ということになります。
この前提条件が成り立たないような汎用的なスクリプトを作成する場合は、次以降の方法を使う必要があります。
★llParseString2Listでは、一時的にデータをリスト型変数に格納するため、処理コストがやや大きいというデメリットもあります。
2つ目の方法は、文字列中の特定の文字の位置を取得するllSubStringIndexを使って先頭の=の位置を求め、その位置とllGetSubStringを使用して「=の前の文字列」「=の後の文字列」を抽出する方法です。
index = llSubStringIndex( data, "=" );name = llGetSubString( data, 0, index -1 );value = llGetSubString( data, index + 1, -1 );LlGetSubStringの2番目、3番目のパラメータには「-1」を使用できます。-1を使うと、「末尾文字のインデックス」を計算せずに指定することができます。
このようにすることで、=の前と後ろの文字列をストレートに取得することができます。
ただしこの方法でも問題があります。=の後ろが空文字列だった場合、valueに代入される結果は直感とは異なるかもしれません。
結果:
Object: name=このように、対象文字列全体が返ってきてしまいます。=が文字列の末尾にあるのかどうかで条件分岐させるなど、回避方法はありますが、次に挙げるllDeleteSubStringを使う方法もあります。
llDeleteSubStringは、llGetSubStringと対になる関数で、指定した範囲を除外した文字列を取得できます。
この関数を使うと、先の例を以下のように書き換えるだけで、=の後が空の場合でもうまく動作するようにできます。
index = llSubStringIndex( data, "=" );name = llGetSubString( data, 0, index -1 );value = llDeleteSubString( data, 0, index );シェアボタン: このページをSNSに投稿するのに便利です。
メニュー 用語集 - これはどういう意味?用語解説 Q&A - よくある質問、定番解説、公式サポートに関する情報 トラブル・シューティング - トラブル・シューティング情...
ニュース ...
すでに日本の文字文化の仲間入りしたグラフィックを駆使しない表現手段。これが英語と日本語で違う。基本的に英語の顔文字は横向き。最初、わからなかったのが、この2つ...
2008年1月22日より施行される「銀行」に関する判断事例をまとめます。これらは「参考」であり、これによって「判断」をするものではありません。個々に記載されていない背景がある場合もありますので判例とは...
目次1 Rumor & urban legend1.1 セカンドライフ全人口のうち3割はボット、半数は未使用のアカウントらしぃ1.2 キャッシュはまめにクリアしたほうがよい?1.3 支払い情報がないと...
意外と知られていないが、AVの身長を計れる。llGetScaleのvectorのzを使う。ただし、靴などは脱いで計ること。SL内では2m前後が普通なようで まじめに計って 160cm程度にしたとある人...
Second Lifeでは、様々な設定を行うことができます。「編集」→「環境設定」か、Ctrl + Pで呼び出せます。特に記載のない限り、コミュニティのコンテンツはCC BY-SAライセンスの下で利用...
このページの内容は公式 Knowledge Base「Alt Account FAQ」を翻訳、一部補足したものです。内容は予告なく変更される場合があるため契約を行う際は原文を確認するようにお願いします...
RL/SLを問わず、世界標準語(なのか?)。人口比率的に、普通に生活していると英語を話す機会は多い。英語chatの参考に...ねっとげーむのえいかいわ。ちなみにある人の変遷 (ある人は、高卒程度の英語...
日本語ほど省略しまくる言葉もないと思っていたら英語には勝てませんでした...例えば...lollaugh over laud大笑いbrbbe right backすぐもどるhbhurry back早く...
すごい作りかけです。みなさん、御協力お願いします。SIMSL内で作成される島のこと。LSLLinden Script Languageのこと。これで、オブジェクトやアバターを操作出来る。アバターSL内...
最新情報です[]パスワードの盗難事件等発生していますいので、パスワードの再確認をお願いします。 --Keiji 2007年6月17日 (日) 16:46 (UTC)特に記載のない限り、コミュニティのコ...
ここでは、日本人向けSIM(日本人利用者が多い、日本人が運営しているSIM)を並べていきます。特に記載のない限り、コミュニティのコンテンツはCC BY-SAライセンスの下で利用可能です。...
日本円 →(US$)→ L$ / L$ →(US$)→日本円といった流れで換金が可能。リンデンラボ公式LindeXのみ。その他の方法Paypal経由でサードパーティを利用。例:ANSHECHUNG.C...
太陽を動かすことも可能。SLの太陽(及び月)は動くので、明るさも当然変わる。暗くなると見えにくいため、太陽を出して明るくすることもできる。メニューバーから以下の操作でコントロール。World - Fo...
活動の軸が外部にある関連のリンク。ニュース、技術資料、ツール、サービスなど。イン・ワールドで活動している団体の説明 HPなどはこちらではなくイン・ワールド系リンクへ記載してください。目次1 ニュース1...
初心者講座 > 基本操作ここでは、基本操作を解説します。画面の見方[]キーボードによる操作[]カメラ操作[]特に記載のない限り、コミュニティのコンテンツはCC BY-SAライセンスの下で利用可能です。...
目次1 土地の種類2 土地の購入2.1 メインランドで土地を購入する場合2.2 プライベート・アイランドで土地を購入する場合2.3 レンタルとは?3 その他注意事項土地の種類[]セカンドライフにおいて...
SL内では土地を売買・賃貸できる自分の(または所属するグループが)土地をもつと、そこを Homeとして設定できる。(CTRL+SHIFT+Hで、すぐに帰れる場所になる)土地のプリム数の範囲内で、家など...
パイ・メニューを開いてその人や物に対して何か行う操作。何かしたい/情報を知りたいという時は、右クリックすべし。macな人に「右クリックないんですけど…」と質問されるのは定番。Optだったかを押しながら...