2016-11-09 3 views
1

Я копаю скрипт gnuplot. У меня проблемы с обработкой переменных.Доступна функция gnuplot isstring?

Мои рассчитанные переменные иногда бывают реальными, иногда строковыми («outrange» и т. Д.).

Следующий шаг: я хочу, чтобы некоторые из них вывели их в длинную строку, но я не могу этого сделать.

Например,

my_return_var="1.2 3.4 5 outrange 9 20 3 4" 
newstr="" 
do for [tmp in my_return_var]{ 
    newstr=newstr.sprintf("%7.3f ",tmp*4) 
    print newstr 
} 

Поскольку четвёртое значение «перегонять», Sprintf возвращаемой ошибки: f_sprintf: попытка напечатать строковое значение с числовым форматом

Таким образом, если Gnuplot имеет проверку функции, если input string или нет, а return 1 или 0, например isstring() в C, я мог бы пропустить это.

Есть ли другая идея?

ответ

1

Нет, gnuplot не имеет функции проверки строки. Но вы можете сделать сравнение строк с eq или ne проверить с фиксированным заполнителем:

my_return_var="1.2 3.4 5 outrange 9 20 3 4" 
newstr="" 
do for [tmp in my_return_var] { 
    if (tmp ne "outrange") { 
     newstr=newstr.sprintf("%7.3f ",tmp*4) 
     print newstr 
    } 
} 
+0

Спасибо за это, это легко и гениально. Я не представлял. – aroman