同じ文字を繰り返した文字列を生成したい
同じ文字がn個並んだ文字列を生成したいです。
Pythonにおける
みたいに簡潔に記述できたら神です。
質問としては,
・上の例と同じことができる構文があるか
・構文がなければスマート(?)に生成するにはどうすればいいか
です。
環境: Skript 2.5.3
15 Replies
やり方自体は
というので考えてはいます。
ただ何となく汚い気がするので簡潔に記述できたら気持ちええなあと思い質問させていただきました。
set (_a) to "a"
loop 10 times:
set (_a) to "(_a)a"
みたいなクソ文しか思いつかんかった
strを計算する方法は無いと思うねんな
これの方が綺麗や
Skript Hub - Documentation
Repeat String (Expression) - Skript
Repeats inputted strings a given amount of times.
add A to LIST は処理が遅いので
やめたほうがいいかもしれません
1例(というかうちのやり方)なんですけど
とかやってます
つまりyukkinaニキとおなじ
え、見た目がきしょい?ごめん
たしかに無理に配列使う必要ないですね
このくらいであれば見た目の良さよりも軽い方が好ましいですから、そのやり方にします
お二方とも、ありがとうございます。
Skript変なところで不便なので頭おかしくなりますよ!
strを計算式に入れ込めるpyも少し特殊な言語だと思うけどな
それはそう
逆にpyのstr計算はどういう内部処理なんだ……
Unknown User•2w ago
Message Not Public
Sign In & Join Server To View
より速く処理したいなら自分の使う分だけ予め0を入力しておいてsubtextとreplaceを使う
loopで1文字ずつ追加するより約7倍速い
⬆天才だろこれ
メモリとCPUはトレードオフの関係にあるけど
高水準な言語では配列が自動で拡張されるからあまり馴染みがないかもしれない
低水準に近い言語では要素数を恣意的に決めることが多いと思う
200個連続させる場合は
s("aa", 100)
でもできる最近の言語は、コンパイラが最適化することも多いからね
計算時間ここまで探求するのえぐい
C言語やんけ‼️
javaの場合、単純な string結合は stringbuilderになる