Thread dynamische bedingungsprüfung (8 answers)
Opened by jan999 at 2010-07-30 18:18

pq
 2010-07-30 19:48
#140178 #140178
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
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: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem

View full thread dynamische bedingungsprüfung