Thread Warum erzeugt ( $5 // 3 ) ein Syntaxfehler? (15 answers)
Opened by SMarc at 2017-02-05 17:45

betterworld
 2017-02-07 18:22
#186069 #186069
User since
2003-08-21
2613 Artikel
ModeratorIn

user image
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sub MyReadingsVal {
        my ($dev, $rdg, $def) = @_;

        if ( $dev eq "TIME" ) {
            $rdg eq 'hour'    and return $notifytable_hour;
            $rdg eq 'hfhour'  and return $notifytable_hour << 1 + ( $notifytable_min > 29 ? 1 : 0 );
            $rdg eq 'qhour'   and return $notifytable_hour << 2 + floor( $notifytable_min/15 );
            $rdg eq 'minute'  and return $notifytable_min;
            $rdg eq 0         and return $notifytable_min;
            return undef;
        } else {
            return ReadingsVal( $dev, $rdg, $def );
        }

}

Das wäre jetzt mal eine einfache Lösung. Klar, die Wiederholung der Variable ist irgendwie unschön, aber dafür ist der Code imho lesbarer geworden. "KISS".

View full thread Warum erzeugt ( $5 // 3 ) ein Syntaxfehler?