|
From: Achim G. <Str...@ne...> - 2017-10-15 08:19:30
|
Achim Gratz writes:
> Ethan A Merritt via gnuplot-beta writes:
>>> Also, why is there no block "else if" or maybe even "elsif"?
>>
>> No particular reason.
>> So far as I can see, all it would gain is to reduce the number of
>> required curly brackets by one pair.
>> Is there something more subtle I'm missing?
>
> Maybe. If the conditional expressions themselve need to be nested, you
> will either end up with unwieldy formatting
>
> if (…) {
> else {
> if (…) {
> else {
> if (…) {
> else {
> if (…) {
> else {
> if (…) {
> else {
> if (…) {
>
> or you'll need to explicitly repeat (and revert) the logical expression
> from the former branches.
Example for that latter point:
--8<---------------cut here---------------start------------->8---
if (days <= 1/24.) {
set xtics 15/60.
set mxtics 3
}
if (days > 1/24. && days <= 4/24.) {
set xtics 1
set mxtics 12
}
if (days > 4/24. && days <= 2) {
set xtics 1
set mxtics 4
}
if (days > 12/24. && days <= 2) {
set xtics 2
set mxtics 8
}
if (days > 2 && days <= 6) {
set xtics 6
set mxtics 12
}
if (days > 6 && days <= 13) {
set xtics 12
set mxtics 12
}
if (days > 13 && days <= 27) {
set xtics 24
set mxtics 8
}
if (days > 27 && days <= 41) {
set xtics 24
set mxtics 4
}
if (days > 41) {
set xtics 7*24
set mxtics 14
}
--8<---------------cut here---------------end--------------->8---
So with that hypothetical elsif keyword, things would look a lot saner
and be less error-prone, I think:
--8<---------------cut here---------------start------------->8---
if (days <= 1/24.) {
set xtics 15/60.
set mxtics 3
} elsif (days <= 4/24.) {
set xtics 1
set mxtics 12
} elsif (days <= 2) {
set xtics 1
set mxtics 4
} elsif (days <= 2) {
set xtics 2
set mxtics 8
} elsif (days <= 6) {
set xtics 6
set mxtics 12
} elsif (days <= 13) {
set xtics 12
set mxtics 12
} elsif (days <= 27) {
set xtics 24
set mxtics 8
} elsif (days <= 41) {
set xtics 24
set mxtics 4
} else {
set xtics 7*24
set mxtics 14
}
--8<---------------cut here---------------end--------------->8---
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+
Wavetables for the Waldorf Blofeld:
http://Synth.Stromeko.net/Downloads.html#BlofeldUserWavetables
|