![]() |
AW: TRUE/FALSE Part
Sorry,
in meinem abendlichen Schnupfen- und Erkältungswahn muss ich auch noch meinen Senf dazugeben: Ich habe mich mit diesem Thema auch schon mal ![]() Meines Erachtens ist die Definition der Konstanten True und False schlicht kontraintuitiv, da man in der Aussagenlogik keinerlei Probleme mit einem Vergleich (x = True) hätte. Ich möchte mich nicht zu weit aus dem Fenster lehnen, aber True bedeutet in der natürlichen Sprache nunmal "wahr" und False bedeutet "falsch", und dann war ja da noch dieser Hinweis "benenne Deine Objekte und Variablen (und Konstanten) so, dass man die Bedeutung leicht erkennen kann". Aber wie gesagt: Schnupfen und Erkältung - nichts für ungut ;-) lg Caps Edit: In schwach typisierten Sprachen wie PHP ist es manchmal tatsächlich notwendig, direkt auf den Wahrheitswert zu prüfen, allerdings deshalb, weil man implizit den Typ mit überprüft:
Code:
if (x === true) { ... }
|
AW: TRUE/FALSE Part
Zitat:
Zitat:
Programmiere nicht erst seit gestern und wollte nur wissen ob die Art ob man auf True vergleichen soll oder nicht Kosmetischer Natur ist. Das wurde ja letztendlich geklärt. gruss |
AW: TRUE/FALSE Part
Ja, in PHP und Co. ist das ein Sonderfall, da dort "alles" als Boolean ausgewertet werden kann, also auch 0 und 1 oder -1 (die Integer).
Genauso, wie man das auch in Delphi machen kann, z.B. mit einen Variant. Aber etwas umgestellt, kann man das
PHP-Quellcode:
auch als
if (x === true) { ... }
PHP-Quellcode:
darstellen und schon wird haben wir das =True auch weg, aber dort bevorzuge ich auch das Kürzere. :angle:
if (is_bool(x) and x) { ... }
Ich weiß auch garnicht, ob der "Boolean" in PHP überhaupt mehr als 2 Zusände haben kann, also wie dort die Zuweisungen/Auswertungen genau arbeiten. Wenn PHP das abfängt, dann ist ein
Delphi-Quellcode:
auch nicht schlimm, wobei, wie du schon sagtest, dort
= True
Delphi-Quellcode:
dem
x===True
Delphi-Quellcode:
im Delphi fast gleichzusetzen ist.
x=True
[edit] ich meinte natürlich
Delphi-Quellcode:
... ja, ein
== True
Delphi-Quellcode:
kann echt böse enden. :lol:
=
Ich glaub ich geh bald schlafen. |
AW: TRUE/FALSE Part
Zitat:
Das heißt: ein Byte bietet 256 Möglichkeiten. False ist 0, die restlichen 255 Möglichkeiten sind True. Gegen False zu prüfen sollte nie falsch sein, aber man kann mit True 254 mal daneben liegen. |
AW: TRUE/FALSE Part
Ich glaube in PHP sind es reservierte Wörter, aber das glaube ich nur, weil sie blau werden, wenn ich sie eintippe :lol:
Fragt sich natürlich trotzdem, wie die interne Repräsentation aussieht... |
AW: TRUE/FALSE Part
Zitat:
:drunken::drunken::drunken: Schluss, ich muss ins Bett. |
AW: TRUE/FALSE Part
Zitat:
Wobei man dort schön sieht, dass man dann expliziet auf
Delphi-Quellcode:
prüfen muss, wenn man tatsächlich TRUE benötigt und nicht nur "ergibt Wahr".
if (var = true) then
Zitat:
False ist nicht 0 sondern
Code:
Ord(False) = 0
|
AW: TRUE/FALSE Part
Zitat:
PHP-Quellcode:
, also
if (is_bool(x) and x) { ... }
Delphi-Quellcode:
.
VarIsBool(x) and X
Aber dort gibt es einen Sonderfall, denn Variant speichert den "Boolean" als WordBool (2 Byte), beim Auslesen als Boolean (1 Byte), nimmt Delphi eine Typkonvertierung vor und gibt entweder True (1), False(0) oder eine Exception (nicht konvertiervar) raus, denn einfach nur abschneiten (billig casten) kann falsch sein, da $0100 Wahr ist, aber $00 somit ein Problem wäre. |
AW: TRUE/FALSE Part
Zitat:
Delphi-Quellcode:
Byte(False)
|
AW: TRUE/FALSE Part
Zitat:
Du hast mich doch gerade bestätigt. Der 'Ordinalwert von False ist 0' und nicht 'False ist 0'. Denn "A" ist ja auch nicht 65, aber der Ordinalwert. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:59 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz