Programm in Perl für Auswertung eines Terms.bitte dringend Hilfe
GIGI
- perl
Ich versuch ein Programm zu schreiben , der einen booleschen Term auswertet und mir dann das Ergebnis liefert. Mein boolescher Term hat die Form : (1,o+1),0+0,0+1,0+1 z.B. ist als string vorgegeben. Ich will ein Programm der das auswertet und mir am ende sagt ob es true oder false ist. Ich hab mehrere Ansätze versucht mit arrays und for schleifen usw. aber mein Programm scheint nicht zu funktionieren. Wäre super wenn mir jemand da helfen würde.
Danke
Hallo,
unabhängig davon, dass man Dir ohne deinen Code zu kennen, nicht helfen kann:
was soll denn bei
(1,o+1),0+0,0+1,0+1
"eins komma oh" bedeuten?
Gruß
Kalk
sorry das war eine 0. Soll ich mein Code bzw. den code den ich bis jetzt geschrieben habe und der nicht funktioniert posten?
Moin Moin!
sorry das war eine 0. Soll ich mein Code bzw. den code den ich bis jetzt geschrieben habe und der nicht funktioniert posten?
Um Himmels willen, NEIN! Niemals Code posten! Das beschädigt unsere Kristallkugeln und hat verringert unsere telepathischen Fähigkeiten!
Alexander
Grundlage für Zitat #1913.
sorry das war eine 0. Soll ich mein Code bzw. den code den ich bis jetzt geschrieben habe und der nicht funktioniert posten?
du hast TfF gelesen?
Gruß
Kalk
ist als string vorgegeben. Ich will ein Programm der das auswertet
Nennt sich symbolische Mathematik.
REPL-Sitzung:
⌨➤ my $tree = Math::Symbolic->parse_from_string('(1.0+0)')
bless({
operands => [
bless({
special => '',
value => '1.0'
} => 'Math::Symbolic::Constant' ),
bless({
special => '',
value => '0'
} => 'Math::Symbolic::Constant' )
],
type => 0
} => 'Math::Symbolic::Operator' )
⌨➤ my ($coderef) = Math::Symbolic::Compiler->compile_to_sub($tree)
sub {
package Math::Symbolic::Compiler;
use warnings;
use strict;
1;
}
⌨➤ $coderef->()
1
PS: Da der "dringenden Hilfe" nun Abbitte getan wurde, und dank des Codes auf dem CPAN trotzdem noch genug Zeit übrig ist, etwas zu sagen, so lasse mich denn sagen: die Kinder lernen heute einfach nix mehr in der Schule.
PPS: Get off my lawn.