Schrift
[thread]6329[/thread]

Kommas: Loeschen (Seite 3)



<< |< 1 2 3 4 5 6 >| >> 51 Einträge, 6 Seiten
Gast Gast
 2004-06-16 19:09
#83276 #83276
[quote=Crian,16.06.2004, 16:39]Ja klar ...
wahrscheinlich sorgt

Code: (dl )
if ( ((( (a and b) or (c and d) ))) or e ) {...} 


auch für Klarheit

SCNR[/quote]
Im Falle von
if ( ((( ($a && $b) || ($c && $d) ))) || $e ) {...}
sorgt es nicht nur für Klarheit sondern ist sogar zwingend erforderlich ;)
Antworten mit Zitat
renee
 2004-06-16 19:12
#83277 #83277
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
da sind zwei unnötig Klammerpaare drin ;)
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/
Antworten mit Zitat
Crian
 2004-06-16 19:24
#83278 #83278
User since
2003-08-04
5873 Artikel
ModeratorIn
[Homepage]
user image
Da ist nur eine nötige Klammer, und zwar die, die zum if gehört ^^  :-)

*g


(nur um das mal für die Nachwelt klarzustellen ;-)\n\n

<!--EDIT|Crian|1087400229-->
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
Antworten mit Zitat
Gast Gast
 2004-06-17 13:06
#83279 #83279
Da wirste Dich aber wundern wenn Du das dann tatsächlich (mit nur einem Klammerpaar) laufen läßt ... :)
Antworten mit Zitat
Taulmarill
 2004-06-17 13:14
#83280 #83280
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
da and stärker bindet als or kann man die klammern um die and schon mal weg lassen, auch die "dreifach-klammern" sind unnötig. damit sind wir bei
Code: (dl )
if ( ( a and b or c and d ) or e ) {}

ich behaupte nun, dass
Code: (dl )
( a or b ) or c

identisch ist mit
Code: (dl )
a or b or c

damit können wir auch das letzte klammernpaar weglassen und haben nur noch die klammern vom if.
Code: (dl )
if ( a and b or c and d or e ) {}
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Antworten mit Zitat
Gast Gast
 2004-06-17 14:52
#83281 #83281
Kommt drauf an was man mit der Bedingung sagen will
print "true\n" if ($a and $b) or $c;
prüft erst ob $a und $b sich in einem definierten Zustand befinden und sieht sich in jedem Falle auch $c an.
print "true\n" if ($a and $b) || $c;
sieht sich $c nur dann an wenn die geklammerte Bedingung nicht zutrifft.
print "true\n" if $a and $b or $c;
liefert true wenn $a oder $b oder $c definiert ist
usw.
Antworten mit Zitat
Taulmarill
 2004-06-17 15:15
#83282 #83282
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
Dieter: perldoc perlop mehr sag ich dazu nich.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Antworten mit Zitat
Gast Gast
 2004-06-17 15:23
#83283 #83283
:) einfach mal ausprobieren - das reicht völlig ;)
Antworten mit Zitat
Taulmarill
 2004-06-17 15:34
#83284 #83284
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
mienst du deine drei codezeilen? die liefern bei jedem eingabewert den selben output :D
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
use strict;
use warnings;

for my $a (0,1) {
for my $b (0,1) {
for my $c (0,1) {
print "a=$a, b=$b, c=$c\n";
print "true1\n" if ($a and $b) or $c;
print "true2\n" if ($a and $b) || $c;
print "true3\n" if $a and $b or $c;
}
}
}
"test.pl" 13 lines, 265 characters
peters@ronin:~> perl test.pl
a=0, b=0, c=0
a=0, b=0, c=1
true1
true2
true3
a=0, b=1, c=0
a=0, b=1, c=1
true1
true2
true3
a=1, b=0, c=0
a=1, b=0, c=1
true1
true2
true3
a=1, b=1, c=0
true1
true2
true3
a=1, b=1, c=1
true1
true2
true3
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Antworten mit Zitat
Gast Gast
 2004-06-17 15:42
#83285 #83285
Sorry - aber es ist müßig darüber weiter zu diskutieren.
Jeder kann seine IF-Bedingungen so formulieren wie er mag - entscheidend ist allein das Ergebnis ... (und dann kann man ja immer noch nachbessern) ;)
Antworten mit Zitat
<< |< 1 2 3 4 5 6 >| >> 51 Einträge, 6 Seiten



View all threads created 2004-06-11 16:54.