min/max in 99_Utils.pm

Begonnen von justme1968, 13 Juli 2013, 20:43:06

Vorheriges Thema - Nächstes Thema

justme1968

zwei fagen zu min und max:

- warum verwenden beide string vergleiche (lt,gt) und nicht zahlen vergleiche (<,>)? ist das wirklich absicht?

- spricht etwas dagegen beide so ändern das sie beliebig viele parameter akzeptieren?

z.b. so:
sub
max($@)
{            
  my ($max, @vars) = @_;
  for (@vars) {
    $max = $_ if $_ > $max;
  }          
  return $max;
}

sub
min($@)
{            
  my ($min, @vars) = @_;
  for (@vars) {
    $min = $_ if $_ < $min;
  }          
  return $min;
}
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rudolfkoenig

>  - warum verwenden beide string vergleiche (lt,gt)

weiss nicht mehr, vmtl. weil es universeller ist.
Ich meine die Zeilen stammen urspruenglich nicht von mir, ich verwende min/max nicht.


> z.b. so:

Ich habe ein Problem damit, lt gegen < auszutauschen, da ich damit bisher funktionierende Installationen kaputtmachen koennte.
Ich habe aber min/max auf die Listenparameter umgebaut und deine Funktionen als minNum()/maxNum() eingepflegt.

justme1968

naja universeller... für zahlen liefert es falsche oder zumindest sehr unerwartete ergebnisse.

das ist auch gut. danke.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968