Я не думаю, что это возможно (посмотрите на синтаксис функций в help user-defined
). Насколько я могу судить, использование rand
- единственный раз, когда это полезно. Во всех остальных случаях ваша «функция» просто оценивает константу. Я предполагаю, что разработчики gnuplot просто не подумали об этом (интересном) угловом случае, или они не считают его достаточно полезным для реализации.
Я надеюсь, что я ошибаюсь в этом, а кто-то еще приходит и доказывает это, но я не думаю, что это так. Я думаю, что самый простой способ - это просто передать параметр, как вы уже упоминали. Если вам это действительно не нравится, вы можете использовать макрос:
set macro
rnd="(int(rand(0)*2**24))"
print [email protected]