In linguaggi come C avresti potuto farlo... ma alla fine
quell'"operatore" come lo chiami tu viene convertito dal compilatore
sempre in un costrutto if-then.
Quindi anche se esistesse qualcosa del genere in rb, quell'operatore
dovrà essere tradotto dal compilatore in qualche modo in una if, in
un loop o in una sequenza di operazioni. Quindi in termini di
esecuzione non avrai aumentato le presetazioni.
E secondo me neanche reso il codice più pulito. Trovo che scrivere:
If k < k0 then
A = B
elseif k > k0 then
A = B + m * (k - k0)
end if
sia più chiaro che scrivere:
A = B + m * ( ( (k - k0) < 0 ) ? 0 : (k - k0) ) (sintassi C)
Matteo
On 26-feb-06, at 12:10, Lucio Liberi wrote:
Ciao a tutti.
Devo eseguire un banale calcolo, che pero' e' funzione di un
parametro 'k'
la formuletta somiglia a questa (la rendo semplice per ovvi motivi...)
A=B se k < k0
A=B+m(k-k0) se k > k0
naturalmente la cosa si risolve mooolto semplicemente con un 'if' o
con un bel (e piu' elegante) Select case...
La domanda che vi pongo e' questa:
posso mettere davanti a (k - k0) un qualche operatore che mi
ritorni 0 (zero) in caso di valore negativo? E quindi tornerei alla
formula A=B e quindi scriverei
UNA sola volta
A=B +m (k - k0)
L'operatore MOD a che serve?
Perdonate la mia PROFONDA ignoranza....
Lucio
|