Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-11-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Al González Ver Mensaje
yo sueño con el día en que pueda escribir en Delphi "expresiones de asignación" como
Código Delphi [-]
...

If ... Then
  If (A := B) > 10 Then  // <---
    ...

...
¡Anda! Ahora sí me sorprendiste. ¿Tú soñando con una característica típica del lenguaje C?

LineComment Saludos
Responder Con Cita
  #2  
Antiguo 29-11-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por roman Ver Mensaje
¡Anda! Ahora sí me sorprendiste. ¿Tú soñando con una característica típica del lenguaje C?
Me lo has quitado de la boca...
Responder Con Cita
  #3  
Antiguo 29-11-2016
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por roman Ver Mensaje
¡Anda! Ahora sí me sorprendiste. ¿Tú soñando con una característica típica del lenguaje C?
El lenguaje C tiene algunas cosas muy buenas, Román.
Responder Con Cita
  #4  
Antiguo 29-11-2016
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Al González Ver Mensaje
El lenguaje C tiene algunas cosas muy buenas, Román.
Eso lo sé, pero pensé que tú no

Pero ya en serio, me causa curiosidad el uso que deseas, quizá por no tener contexto. En lo particular, esa característica (que la asignación sea un operador) casi sólo la uso para ciclos en los que obtengo y uso un dato:

Código:
/*
  DameRegistro devuelve el siguiente registro o FALSE si no hay más registros
*/
WHILE registro = DameOtro() DO
BEGIN
  MuestraRegistro(registro)
END
En otros casos, puede devenir en una lectura confusa.

LineComment Saludos
Responder Con Cita
  #5  
Antiguo 01-12-2016
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 30
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Cita:
Empezado por roman Ver Mensaje
En lo particular, esa característica (que la asignación sea un operador) casi sólo la uso para ciclos en los que obtengo y uso un dato:
Código:
/*
  DameRegistro devuelve el siguiente registro o FALSE si no hay más registros
*/
WHILE registro = DameOtro() DO
BEGIN
  MuestraRegistro(registro)
END
Buen uso.

Hoy estuve trabajando con cierto método que quizá sirva de ejemplo:
Código Delphi [-]
  Function TuaByNodeIdDic <T>.TryGetValue (Const AKey :TuaDNodeId;
    Out AValue :T) :Boolean;
  Var
    LTried :Boolean;
  Begin
    LTried := System.False;
    Result := System.False;

    If AKey.IndexableByID Then
    Begin
      Result := TryGetValue (AKey.BinEncodedID, AValue);  // Sobrecarga (no recursivo)
      LTried := System.True;
    End;

    //...
  End;
Con "asignaciones expresivas" (por llamarles de algún modo) esa primera parte se reduciría un poco:
Código Delphi [-]
  Function TuaByNodeIdDic <T>.TryGetValue (Const AKey :TuaDNodeId;
    Out AValue :T) :Boolean;
  Var
    LTried :Boolean;
  Begin
    If Result := LTried := AKey.IndexableByID Then
      Result := TryGetValue (AKey.BinEncodedID, AValue);  // Sobrecarga (no recursivo)

    //...
  End;

Saludos.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Sobrecarga de propiedades jzginez OOP 2 21-02-2014 17:58:09
Duda operadores de clase waremovil C++ Builder 4 22-02-2012 08:58:46
Sobrecarga de constructores vejerf OOP 2 06-06-2008 12:52:36
Polimorfismo y sobrecarga davitcito Varios 3 15-04-2005 19:56:11
sobrecarga de operadores zuriel_zrf Varios 1 11-09-2003 13:08:36


La franja horaria es GMT +2. Ahora son las 03:50:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi