AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Funktion, die beliebigen Typ zuweist und als Bool auswertet
Thema durchsuchen
Ansicht
Themen-Optionen

Funktion, die beliebigen Typ zuweist und als Bool auswertet

Ein Thema von WladiD · begonnen am 2. Mär 2011 · letzter Beitrag vom 2. Mär 2011
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#11

AW: Funktion, die beliebigen Typ zuweist und als Bool auswertet

  Alt 2. Mär 2011, 14:40
Code:
function Foo($Value)
{
  if ($LocalValue = $Value * 10) && ($LocalValue > 100)
    return $LocalValue - 1;
  else
    return $LocalValue + 1;
}
Mir ist generell unverständlich, warum man noch die Zuweisung per IF-Abfrage regeln muss, da da eh 100%ig TRUE rauskommt. Dann macht man den Vergleich auf größer 100 und nachdem man beide Teilergebnisse hat, nimmt man noch das boolesche UND. Nur weil etwas geht, muss man das nicht unbedingt machen.
Dieses Konstrukt würde ich mir gar nicht erst angewöhnen, da die Fehleranfälligkeit stark steigt, da der Vergleich mit 2x "=" stattfindet. Immer wenn ich mit Vergleichen ein Problem habe (PHP), liegt es daran, dass einfach ein "=" zu wenig vorhanden ist.

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  Mit Zitat antworten Zitat
WladiD

Registriert seit: 27. Jan 2006
Ort: Celle
135 Beiträge
 
Delphi 10.4 Sydney
 
#12

AW: Funktion, die beliebigen Typ zuweist und als Bool auswertet

  Alt 2. Mär 2011, 14:55
Code:
function Foo($Value)
{
  if ($LocalValue = $Value * 10) && ($LocalValue > 100)
    return $LocalValue - 1;
  else
    return $LocalValue + 1;
}
Mir ist generell unverständlich, warum man noch die Zuweisung per IF-Abfrage regeln muss, da da eh 100%ig TRUE rauskommt. Dann macht man den Vergleich auf größer 100 und nachdem man beide Teilergebnisse hat, nimmt man noch das boolesche UND. Nur weil etwas geht, muss man das nicht unbedingt machen.
Dieses Konstrukt würde ich mir gar nicht erst angewöhnen, da die Fehleranfälligkeit stark steigt, da der Vergleich mit 2x "=" stattfindet. Immer wenn ich mit Vergleichen ein Problem habe (PHP), liegt es daran, dass einfach ein "=" zu wenig vorhanden ist.

Bernhard
Hi Bernhard,

1. Das war nur ein Beispiel, um zu verdeutlichen, dass man in einigen Sprachen direkt in der Bedingung eine Zuweisung durchführen kann, was bei Delphi mit Bordmitteln (meiner Meinung nach) nicht geht

2. ($LocalValue = $Value * 10) wird in PHP nicht 100%ig zu TRUE gewandelt, sondern nur wenn das Ergebnis von $LocalValue nach Zuweisung <> 0 ist. Siehe PHP-Dokumentation. Wenn man also an die fiktive Funktion 0 übergibt (0*10=0), so wird die zweite Bedingung erst gar nicht ausgewertet.

3. Mir ging es dabei um andere Aspekte

mfg

Waldemar
Waldemar Derr
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz