Página 1 de 1

Expressão Ternaria do C no Harbour

Enviado: 13 Jun 2023 01:42
por mauricioportela

Código: Selecionar todos

//
// Expressão Ternaria do C
// x ? y : z
//

#command    <x> ? <y> : <z> ;
            => ;
            devout(iif(<x>, <y>, <z>))


function main()
    local x, y, z, y2, z2
    cls
    y  := "> True <"
    z  := "> False <"

    y2 := 10
    z2 := 20

    x := .F.

    @ 10, 02
    x ? y : z

    @ 12, 02
    x := .T.
    x ? y2 : z2
    
    @ 23, 0

return Nil
Att.
Mauricio Portela

Expressão Ternaria do C no Harbour

Enviado: 13 Jun 2023 11:23
por mauricioportela
Atualizando:

Código: Selecionar todos

//
// Expressão Ternaria do C
// x ? y : z
//

    // #command    <x> ? <y> : <z> ;
    //             => ;
    //             devout(iif(<x>, <y>, <z>))

#command    <k> := <x> ? <y> : <z> ;
            => ;
            <k> := iif(<x>, <y>, <z>)


function main()
    local k, x, y, z, y2, z2
    cls
    y  := "> True <"
    z  := "> False <"

    y2 := 10
    z2 := 20

    x := .F.

    k := x ? y : z

    @ 10, 02 SAY k

    x := .T.
    k := x ? y2 : z2

    @ 12, 02 SAY k
    
    @ 23, 0

return Nil

Att.
Mauricio Portela

Expressão Ternaria do C no Harbour

Enviado: 14 Jun 2023 00:27
por alxsts
Olá!

Obrigado por compartilhar.

Desculpe minha ignorância em linguagem C mas... não é o mesmo que IIf()?

Expressão Ternaria do C no Harbour

Enviado: 14 Jun 2023 12:12
por mauricioportela
Ola!

Sim! É o mesmo que iif() (ver na diretiva #command). Mas, não é legal ter conhecimento de variações de execução e a possibilidade de conhecer outras linguagens através desses intercâmbios?

Nesse caso, o que pensei foi uma forma mais curta que escrever um trecho de código.

Att.
Mauricio Portela