Operador Condicional Ternário em Delphi com tipo de dados Genérico

Operador Condicional Ternário

Fala galera da programação, tudo beleza?

Hoje vamos ver como utilizar o Operador Condicional Ternário com classes e tipos de dados de forma genérica.

Caso queira ver mais sobre os operadores, veja o nosso artigo principal sobre o assunto.

Operação Ternária: Uma Visão Abrangente

 

Uso em Pascal (Delphi)

Em Delphi, a operação ternária pode ser simulada usando o operador if-then-else em uma única linha. Aqui está um exemplo simples:

program ExemploOperacaoTernaria;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  Numero: Integer;
  Resultado: String;
begin
  Numero := 10;

  // Exemplo de operação ternária em Delphi
  Resultado := IfThen(Numero > 0, 'Positivo', 'Negativo');

  Writeln('O número é ', Resultado);

  Readln;
end.

Neste exemplo, a função IfThen é usada para realizar uma operação ternária simulada. Se o número for maior que zero, a string ‘Positivo’ será atribuída a Resultado; caso contrário, ‘Negativo’ será atribuído. A função IfThen é uma função auxiliar que foi introduzida nas versões mais recentes do Delphi para facilitar a criação de expressões condicionais em uma única linha. Se você estiver usando uma versão mais antiga do Delphi que não possui essa função, você pode implementá-la manualmente. Aqui está uma possível implementação:

function IfThen(AValue: Boolean; const ATrue: string; const AFalse: string): string;
begin
  if AValue then
    Result := ATrue
  else
    Result := AFalse;
end;

 

Uso em modo genérico

Como vimos acima, podemos ter funções que retornam string, integer e etc. Também podemos criar funções semelhantes para retornar dados específicos. Bem, e se quisermos utilizar uma única função para retornar qualquer tipo de dado, como o JavaScript, é possível? Felizmente sim!

Veja o exemplo:

(*

Criado pelo Professor Giovani Da Cruz

*)
program ExemploOperacaoTernariaGenerica;

{$APPTYPE CONSOLE}

uses
  SysUtils;

type
  TGenerics = class
    class function IfThen<T>(const AValue: Boolean; const ATrue, AFalse: T): T; static;
  end;

class function TGenerics.IfThen<T>(const AValue: Boolean; const ATrue, AFalse: T): T;
begin
  if AValue then
    Result := ATrue
  else
    Result := AFalse;
end;

var
  Numero: Integer;
  Resultado: String;
begin
  Numero := 10;

  // Exemplo de operação ternária genérica em Delphi
  Resultado := TGenerics.IfThen<string>(Numero > 0, 'Positivo', 'Negativo');

  Writeln('O número é ', Resultado);

  Readln;
end.

 

Neste exemplo, a função IfThen é agora genérica e pode trabalhar com qualquer tipo de dado. A sintaxe <T> indica que a função é genérica e o tipo de dado é especificado ao chamar a função. No exemplo acima, <string> é usado, mas você pode substituir por qualquer tipo de dado que desejar.

 

Beleza pessoal? Espero que tenham gostado.

 

Dúvidas ou sugestões? Deixe o seu comentário!

 

Um abraço e até o próximo post. Valeu!

 

  • Publicado por Giovani Da Cruz
  • 14 views
  • 0 comentarios
  • 30 de novembro de 2023

 

Está gostando do conteúdo?
Considere pagar um cafezinho para nossa equipe!

 

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Posts Relacionados a Categoria Programação

Continue aprendendo

Aumente o seu conhecimento
Explorando os Operadores Matemáticos nas Linguagens de Programação
7 de maio de 2024
Utilizando TParallel.For da Biblioteca de Programação Paralela em Delphi
6 de maio de 2024
A Importância de Nomes Mnemônicos em Variáveis: Facilitando a Compreensão e Manutenção do Código
2 de maio de 2024
Detecção de formatos gráficos em Delphi
19 de abril de 2024
Pilhas no Mundo da Programação: Conceitos e Aplicações
12 de abril de 2024
Imagens e Fotos em Delphi e Lazarus (TImage e TDBImage)
4 de abril de 2024
Título: Entendendo Variáveis Não Nulas e Não Descartáveis em C#
3 de abril de 2024
Merge Sort: O Método Eficaz de Ordenação
2 de abril de 2024
Como Realmente Funcionam as Strings: Uma Profunda Análise
25 de março de 2024
Explorando Hashmaps: Uma Visão Completa
14 de março de 2024