Thread Funktionsaufruf
(15 answers)
Opened by Leave- at 2010-02-11 12:29
zunächst ein hinweis zur variablendeklaration:
man sollte variablen immer im kleinstmöglichen bereich definieren. also nicht alle am anfang, sondern erst da, wo sie gebraucht werden. der fehler liegt darin, dass das einlesen von STDIN auch das newline am ende mitliefert. deshalb wird der vergleich nie wahr sein. edit: ähm, halt, hab mich vertan, im numerischen vergleich wird alles nicht-numerische nach den ziffern ignoriert. trotzdem solltest du ein chomp() machen. du musst zuerst STDIN einlesen und dann mit chomp() das newline entfernen. dann kannst du den vergleich in der schleife machen und bei gleichheit mit last rausspringen. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 while(my $eingabe = <STDIN>) { chomp $eingabe; last if $eingabe == $zufallszahl; print "Zufallszahl falsch, bitte erneut eingeben!"; if ($zufallszahl < $eingabe) { print "Zu klein"; } if ($zufallszahl > $eingabe) { print "Zu groß"; } } Last edited: 2010-02-11 12:39:33 +0100 (CET) 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 |