Thread dynamische bedingungsprüfung
(8 answers)
Opened by jan999 at 2010-07-30 18:18
also ich kann es auch weiterhin nur erahnen.
von der vorgehensweise habe ich sowas im kopf: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 my %map = ( ">" => sub { return $_[0] > $_[1] }, "<" => sub { return $_[0] < $_[1] }, # ... ); my $value = 23; my $compare = 24; my $condition = "<"; print test(23, "<", 24); sub test { my ($value, $cond, $compare) = @_; my $func = $map{$cond} or die "No function for $cond"; return $func->($value, $compare) ? "true" : "false"; } dann könntest du in den funktionen auch noch prüfen, ob der wert eine zahl ist oder ein string (mit Scalar::Util::looks_like_number() z.b.) und daraufhin < oder entsprechend lt verwenden. Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wie frage ich & perlintro brian's Leitfaden für jedes Perl-Problem |