2

乱数を返す関数を定義したい:

gnuplot> rnd() = int(rand(0)*2**24)
         ^
         invalid command

xエラーメッセージを停止するためのパラメータを追加する必要があります。

gnuplot> rnd(x) = int(rand(0)*2**24)

パラメータなしで関数を定義することは可能ですか?

4

1 に答える 1

3

私はそれが可能だとは思いません ( の関数の構文を見てくださいhelp user-defined)。私が知る限りrand、これが役立つのは使用時だけです。他のすべての場合、「関数」は定数に評価されます。gnuplot の開発者は、この (興味深い) コーナー ケースを考えていなかったか、実装するのに十分有用だとは考えていなかったと思います。

これについて私が間違っていて、他の誰かが現れてそれを証明してくれることを願っていますが、私はそうではないと思います. すでに述べたように、パラメーターを渡すだけの最も簡単な回避策だと思います。本当に気に入らない場合は、マクロを使用できます。

set macro
rnd="(int(rand(0)*2**24))"
print 5+@rnd
于 2012-06-02T12:05:51.467 に答える