WEB系の言語にはステートレス(非同期)の言語があります。

命令を実行したら、命令の終了を待たずに次の命令を実行するのが非同期です。

WEBの命令にはサーバーサイドスクリプトとブラウザサイドスクリプトの2種類があり、

サーバーサイドが非同期に当たります。

 

LSLでもパーティクルやアニメーション、llTargetOmegaなどがこれに当たり、

実行するとサーバーにデータが送られ、関数が実行されます。

 

見る人によって実行結果が変わるのは非同期で実行されるからです。

 

また、オブジェクトに入れたLSLを実行させた場合、最初に起動されるのは

state_entryですが、オブジェクトをTAKEして再REZしてもstate_entryが動きません。

 

これはオブジェクトに入ったLSLがいつも実行されていることを表しています。

 

 

 

久しぶりに秋葉原SIM界隈を探索しました。

ニュービーの頃は毎日通っていた秋葉SIMでしたが、ご無沙汰気味です^^;

 

ちんどん屋組合

 

 

色々なオブジェクトが低価格で販売されています。

飲食店の小道具、庭作りのアイテムをお探しの方は一度お立ち寄りください。

Yukon

 

メーヴェに似てるMOVE KITEの乗り心地が絶品です。

SLの乗り物の中で一番快適に飛べる飛行機だと思います。

店内には6本足歩行の乗り物が展示されています。

SE一年目の若かりし日。

 

先輩にファイル構造をリスト化しておいてと言われて、エクスプローラーでファイルを表示させてエクセルで打ち込んでました。

 

でも、今はそんなことしません。(*^ー^)v

何故なら、コマンドという便利なツールを知ったから。

 

Windowキー+Rを同時押しして、ファイルを指定して実行にCMDと打ちます。

CMDとは、コマンドプロンプトのツールです。

 

Windows10ならば、C:\Users\ユーザ名>みたいに表示されます。

カレントディレクトリから移動したい場合は、cd(チェンジディレクトリ) 

移動したいパスで目的のアドレスに移動します。 例 cd c:\ c:\> になります。

 

リスト化するファイル一覧のアドレスに移動したら、 dirと打つと、そこにあるファイルを

表示します。

表示には、オプションがあって /b を付けるとファイル名だけ表示になったり、

/oを付けると n名前順 e拡張子順 sサイズ D日時 でソートも出来ます。

 

c:\>dir /b /on 等を打ってみて、自分が欲しいリストになっているかを確認します。

欲しいリストになっていたら、次はファイルに吐き出すだけ。

 

先ほどのコマンドのお尻に出力するファイル名をフルパスで入れれば良いのです。

 c:\>dir /b /on>>c:\filelist.txt とすれば、filelist.txtと言うファイルがあればマージされ、

無ければ新規作成してくれます。 *ファイル名は被ってなければ何でも良いです。

 

 

>>二つ重ねると新規作成及びマージ、>上書き保存になるので数には注意です。

勿論、上書き保存の方はファイルがなければエラーになります。

 

コマンドプロンプトツールの終わらせ方: exit と入力すると終わります。

間違っても処理をしてるときに終わらせないでくださいね。

強制的に処理を止めるのはCTRL+Cです。

 

ファイルを直接触ってるので、

終了処理は慎重にやらないとファイルが壊れちゃう時があります。

 

ちまちまと打ち込んでいたら、先輩から👊されちゃうので、

 新人SEさんは覚えておくと良いかも。

 

 

 

 

 左図の様に行番号とデータを表示する場合、      1 AAA

 10行目で桁上がりして、データ列が横に押されて    2 BBB

 しまいます。                             ・

                                   10 ZZZ

 

 最初から桁上がりを考慮して、ゼロで埋めるのがゼロサプレスです。

 最大値を始めに考えて、2桁で足りるなら 頭に0を付けます。

 3桁ならば、00を付けます。

 また、小数点以下も同様の考え方です。

 

  入力数が1で、最大2桁の場合 ’0’+’1’=’01’ 希望通りの値になります。

 しかし、入力数が10で、最大2桁の場合 ’0’+’10’=’010’ 桁が増えてしまいます。

 

 その場合は、お尻から2桁だけ見れば良いんです。 

 ’010’の下2桁は’10’なので、希望通りの値になります。

  

 これをコードにすると、

 result = llSubString("00000"+ input ,-2,-1);

 

  この関数を説明すると、"00000" + 入力文字変数の最後尾一つ前から最後尾を

 抜き出して resultと言う文字変数に代入する関数です。 

 

 頭にゼロを一杯付けて、お尻から必要な分だけ抜き出すという考え方ですね。

 このやり方を使えば、小数点以下を表記するのも簡単になります。

 

 フロート値の計算が脆弱なSLでは小数点以下をなくす為にn倍しておいて、

 計算してからnで割ったり、文字列で表示させないと勝手に丸められたり。

 

 文字編集は、いつか使う時が来るかもしれませんね。