Einzelnen Beitrag anzeigen

Frickler

Registriert seit: 6. Mär 2007
Ort: Osnabrück
650 Beiträge
 
Delphi XE6 Enterprise
 
#10

AW: Delphi 13 - Ternary Operator

  Alt 28. Aug 2025, 12:58
Delphi-Quellcode:
function aaa: string;
begin
  ShowMessage('aaa');
  Result := 'a';
end;

function bbb: string;
begin
  ShowMessage('bbb');
  Result := 'b';
end;


ShowMessage(IfThen(Random(2) = 0, aaa, bbb);
Hier siehst du aaa, bbb und dann noch a oder b.
Das Neue würde nur aaa und a ODER bbb und b anzeigen.
Was ein kompliziertes Beispiel.

Wie wärs denn damit:
Delphi-Quellcode:
var z := if x = 0 then 0 else y div x;
// vs.
var z := IfThen(x = 0, 0, y div x);
Wenn x 0 ist, knallt die Variante mit IfThen, aber der ternäre Operator nicht. Denn wie Du schon richtig schriebst, eine Funktion evaluiert alle Parameter vor Ausführung, der Operator nicht.
  Mit Zitat antworten Zitat