Expressão Ternaria do C no Harbour

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

Avatar do usuário
mauricioportela
Usuário Nível 2
Usuário Nível 2
Mensagens: 95
Registrado em: 29 Jul 2016 04:22
Localização: Vitoria da Conquista/Bahia

Expressão Ternaria do C no Harbour

Mensagem 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
Avatar do usuário
mauricioportela
Usuário Nível 2
Usuário Nível 2
Mensagens: 95
Registrado em: 29 Jul 2016 04:22
Localização: Vitoria da Conquista/Bahia

Expressão Ternaria do C no Harbour

Mensagem 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
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Expressão Ternaria do C no Harbour

Mensagem por alxsts »

Olá!

Obrigado por compartilhar.

Desculpe minha ignorância em linguagem C mas... não é o mesmo que IIf()?
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
mauricioportela
Usuário Nível 2
Usuário Nível 2
Mensagens: 95
Registrado em: 29 Jul 2016 04:22
Localização: Vitoria da Conquista/Bahia

Expressão Ternaria do C no Harbour

Mensagem 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
Responder