変数名の最初にハイフンをつけるのにはなにか意味があるのですか?
reflectを使っているコードに多い気がします
9 Replies
Solution
インスタンスかどうか見分けるためじゃない?
単純に見分けるためなんですね
ありがとうございます
変数名の先頭にハイフンを付けるとサーバーの終了時にcsvに保存されません
海外のskripterの間では ラム変数(ram variable) と呼ばれていて、変数は
・グローバル変数
・ローカル変数
・ラム変数
の3つという認識らしいです
config.skのpatternの値を
(?!-).*
に書き換えることで有効化されます
先頭にハイフンがないすべての変数でマッチするという意味らしいです
skriptの変数はランダムというよりシーケンシャルな気がするなるほど!
今まで一度も解説を見たことがない仕様でした
ありがとうございます!
ぼくも解説サイトやdiscordのskriptのコミュニティでラム変数を聞いたことは一度もないので認知してる人は全くいないと思います
初耳学過ぎる。
ローカル変数だと範囲足りないけどグローバル使うには忍びないって時に使えそう。
けっこうな変数がそれでこと足りそうだな
verいくつからなんやろ
skriptは変数の値の変更をカウントしてて非同期で5分毎に合計で1000回の変更があるとcsvに保存する処理がある
ラム変数とグローバル変数のtpsに差は見られなかった(50ms以内に収まると内部で調整されるから正確に計測できない)
内部処理に手を加えて計測すると1000個の変数がラムのときグローバルより約2倍速かった
https://github.com/SkriptLang/Skript/commit/f5fadd0c772796e7561c1a3655da23e48128311c#diff-1b7adb5f2785409a629a2ba0aa32f9c9dcaab0dd8e89d9a4356797dae2357e06R256
skriptが初めて公開されたときからあると思うから全verで対応してるんじゃない
⁉️