Eksekusi bersyarat berdasarkan versi Gnuplot

Karena Gnuplot 4 dan Gnuplot 5 sebagian tidak kompatibel, saya ingin melakukan eksekusi bersyarat berdasarkan versi Gnuplot, misalnya. untuk mengatur beberapa linewidth dengan Gnuplot 4 dan beberapa linewidth lainnya dengan Gnuplot 5. Bagaimana saya bisa melakukan ini seluruhnya dalam skrip Gnuplot (yaitu tanpa harus menggunakan pembungkus skrip shell)?


person vinc17    schedule 19.02.2015    source sumber


Jawaban (1)


Variabel GPVAL_VERSION selalu disetel ke nomor versi. Anda dapat menggunakannya seperti variabel lainnya. Perhatikan bahwa ini adalah angka, bukan string. Untuk melihat variabel lain yang ditentukan gnuplot, ketikkan perintah "show var all".

person Lee Phillips    schedule 19.02.2015
comment
Kemudian OP dapat menggunakan klausa if untuk beralih antar versi, mencatat bahwa jika versinya sangat lama, klausa if bekerja secara berbeda atau tidak semuanya. Contoh sederhana: if (GPVAL_VERSION == 4.6) {print "Version is 4.6"} else {if (GPVAL_VERSION == 5.0) {print "Version is 5.0"}}. - person Miguel; 19.02.2015
comment
Terima kasih. Jadi, saya juga bisa menggunakannya di operator ternary, seperti: mylw = GPVAL_VERSION < 5 ? 2 : 1 - person vinc17; 19.02.2015