投稿
say sayer.exe
【「それがどうした」的ネタ】 括弧のネストがいくつまでできるかやってみました a=(((b)))'こんなの 9995個まではネストできるようです 9996個になるとエラーになりました
8そうだね
プレイ済み
返信[1]
親投稿
say sayer.exe
ついでに a=(((...(((b+1)))...)))'括弧は9995個あるものとする としてもエラーになりました a=(((...(((b+1)))...)))'括弧は9994個あるものとする だったらエラーになりませんでした あと、途中で関数かましてもエラーになりましたが、関数一個に付き一組の括弧を除去すればエラーになりませんでした よくは知らないけれど、コンパイル時の演算式解析のスタックの限界てやつでしょう
0そうだね
プレイ済み
返信[2]
親投稿
say sayer.exe
うえこうさん 「限界遊び」ですよ gosubのスタック限界のほうが良かった?
0そうだね
プレイ済み
返信[3]
親投稿
MIKI ifconfig
興味深いですね。 文字列としての長さってことはないですか? 変数名を二文字にしたり、空白をいれても変わらない?? 定数式はコンパイル時に決定すると言ってたけど、 b+1を0+1でも変わりませんか?
0そうだね
プレイ済み
返信[4]
親投稿
say sayer.exe
みきさん 変数名は作用しないようです また、b+1を0+1にしても変わらないようです でも1+1+1にしても動作しやがりました(b+c+dでも同じ) エラーになると思ったんだが?
0そうだね
プレイ済み
返信[5]
親投稿
say sayer.exe
こんなのもやってみた a=1+1+...+1+1'全部で2047個 ここまでエラーなし a=1+1+...+1+1'全部で2048個 ここで初めてOut of memory さてさて、どのような解析がされてるんだろうか…
0そうだね
プレイ済み
返信[6]
親投稿
say sayer.exe
この場合単純計算なんだからビットは関係ないと思うぞ父ちゃん
0そうだね
プレイ済み
返信[7]
親投稿
MIKI ifconfig
こういうのって始めるとキリないですよね。 3.2.0 になって、全部定数な式と変数を含む式では違いがあると思うんですが、どうなんでしょうね?
0そうだね
プレイ済み
返信[8]
親投稿
say sayer.exe
a=(1+(1+(1+(1+(1+(...てやるとどうなるんだろう? いくらダイレクトモードで作成させてるとは言えめんどくさいなぁ まあいいや直打ちするよりマシか
0そうだね
プレイ済み
返信[9]
親投稿
say sayer.exe
みきさん 解析時の制約を突いてるだけなんで、実行時は気にしなくてもいいんと思います それに解析時にエラーがあった時点で、実行もできないでしょうし うえこうさん 単なる「キリのいい数値」と思ってたけど、残り4ビットはフラグに使えますね このフラグ?どう使う?
0そうだね
プレイ済み