Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7606[/thread]

wo ist hier der fehler? (Seite 2)

Leser: 1


<< |< 1 2 >| >> 18 Einträge, 2 Seiten
murphy
 2006-01-11 11:20
#61647 #61647
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
[quote=TbHoCne,11.01.2006, 01:17][...] Jede Programmiersprache wird einen Fehler ausspucken, wenn man durch Null teilen will. [...][/quote]
Das ist so nicht richtig. Zunächst einmal muss man unterscheiden, ob solch ein Fehler von der Programmiersprache oder von der Prozessorhardware festgestellt wird. In der Regel baut der Interpreter oder Compiler einer Sprache aus Performancegründen keine solchen Checks ein. Auf Hardwareebene erzeugen Integerdivisionen durch Null meistens einen Fehler. Bei Fließkommadivisionen ist das aber stark vom Prozessor abhängig. Zum Beispiel kann man bei der Intel FPU, glaube ich, einstellen ob sie eine Exception erzeugt, bei den PowerPC Chips gibt's aber nie einen Fehler, sondern das Resultat wird unendlich.
When C++ is your hammer, every problem looks like your thumb.
COSTI
 2006-01-11 15:41
#61648 #61648
User since
2005-11-14
9 Artikel
BenutzerIn
[default_avatar]
danke fuers debugen
du hast recht ich solte mich erstmal mit dem syntax naher bescheftigen. Koent ihr mir dazu ein guten Ebook empfehlen, das elementare sachen ueberstrpringt und davon ausgeht, dass man schon andere programmiersprachen beherscht?
(mein script gibt zwar "com quantas moedas vamos jogar?" aus, wartet auf eine eingabe und sonst nichts :( )
pq
 2006-01-11 16:56
#61649 #61649
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=murphy,10.01.2006, 23:39]Versuche statt
Code: (dl )
<STDIN> = $VCquanti, $EUquanti;
entweder
Code: (dl )
my ($VCquanti, $EUquanti) = (<STDIN>, <STDIN>);
oder
Code: (dl )
my ($VCquanti, $EUquanti) = split /\s+/, <STDIN>;
-- bei ersterer Variante wird zweimal eine Zeile eingelesen und jeweils in einer Variablen gespeichert, bei zweiterer wird die Eingabe einer Zeile an Leerzeichen getrennt, dann werden die Teile den beiden Variablen zugewiesen.[/quote]
ein entscheidender unterschied ist: deine beiden vorschläge lesen jeweils
im listenkontext ein, und deshalb wartet das script solange auf input, bis
jemand CTRL-D (bzw. CTRL-Z) drückt.
wenn dann zwei anweisungen oder vor jedem <STDIN> ein scalar.
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
murphy
 2006-01-11 17:20
#61650 #61650
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Stimmt, bei meiner ersten Variante ist das trotz explizitem zweimaligem Aufruf der Leseroutine dennoch zweimal Listenkontext. So etwas übersehe ich leider immer wieder einmal :(

Aber der zweite Parameter zu split wird doch Skalar interpretiert, oder etwa nicht? Jedenfalls funktioniert meine zweite Variante genau wie gewünscht.
When C++ is your hammer, every problem looks like your thumb.
pq
 2006-01-11 19:05
#61651 #61651
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=murphy,11.01.2006, 16:20]Aber der zweite Parameter zu split wird doch Skalar interpretiert, oder etwa nicht? Jedenfalls funktioniert meine zweite Variante genau wie gewünscht.[/quote]
ja, stimmt, bei split ist der kontext richtig...
dann sollte sich costi nochmal äußern.
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
Crian
 2006-01-12 17:31
#61652 #61652
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Wie schön, dass ich diesen Thread nicht früher zu Gesicht bekommen hab :D
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
renee
 2006-01-12 23:34
#61653 #61653
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wieso??
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Crian
 2006-01-16 14:43
#61654 #61654
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Weil ich mich dann mit der interessanten Syntax hätte beschäftigen "müssen" *g
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< |< 1 2 >| >> 18 Einträge, 2 Seiten



View all threads created 2006-01-10 23:13.