24 Matching Annotations
  1. Apr 2025
  2. May 2024
    1. sessions := 1 to: 11

      El tipo de mensaje es keyword porque son aquellos mensajes que consisten en uno o más nombres de argumentos precedidos por dos puntos (:). Su composición parte de:

      Un receptor (objeto), el mensaje (método a utilizar) y el argumento que son los valores que se pasan al método para que pueda realizar la tarea. En los mensajes keyword, los argumentos están precedidos por dos puntos (:) y separados por comas (,).

      Para este caso: * El objeto es: sessions. * El mensaje es: to * y el argumento pasado por el método to es el 11, Esto indica que la secuencia de números enteros debe ir desde 1 hasta 11 inclusive.

    1. memories do: [:doc | | fileName | fileName := (doc url asString splitOn: $:) last , '.md'. doc file: folder / fileName. doc exportAsFile. ]

      Es un mensaje tipo keyword

      • El objeto es: memories
      • El mensaje es: do
      • El argumento del mensaje do es el bloque proporcionado entre corchetes [:doc | .... ] aquí el iterador es el do, el cual se utiliza para recorrer cada elemento de la colección o objeto memories y ejecutar el bloque proporcionado para cada uno de ellos.

      Resultado devuelto al ejecutar todo el bloque:

    2. memories doWithIndex: [:item :index | item metadata at: 'title' put: 'Unidades semanticas, sesión ', index asString ].

      Este mensaje es tipo Keyword y dentro de este el

      • Objeto (receptor): es memories el cual invoca el método.
      • Mensaje (selector) es doWithIndex: Este es un mensaje de Pharo que se utiliza para iterar sobre una colección y proporciona tanto el elemento actual como su índice en cada iteración.
      • Argumento: Es el mensaje doWithIndex el cual es un bloque de código que define la acción que se realizará en cada elemento de la colección. En este caso, el bloque es [:item :index | ........ ], es decir, todo lo que encierran los corchetes y recibe dos parámetros: item, que representa cada elemento de la colección, y index, que representa el índice del elemento en la colección.

      Dentro del bloque: * El objeto item es el elemento actual de la colección memories. * El mensaje enviado es metadata, que es un mensaje enviado al objeto item. Este mensaje obtiene los metadatos asociados con el elemento actual. * El argumento del mensaje at:put: es una clave, en este caso 'title', y el nuevo valor 'Unidades semanticas, sesión ', que se asigna a la clave 'title' en los metadatos del elemento actual.

      Al ejecutar todo el código se devuelve el siguiente resultado:

    3. memories := sessions collect: [:session | doc := HedgeDoc new url: commonAddress, session asString; retrieveContents. ]

      Este ejemplo en Pharo se refiere a la manipulación de colecciones y al uso de bloques en combinación con mensajes Keyword.

      Ahora bien, a continuación se explica las dos partes del ejercicio: En mensaje en keyword es: 1. Objeto es: sessions 2. Mensaje es: collect<br /> 3. Argumento: [:session |

      Dentro del bloque el código funciona así: 1. Objeto: para este se crea un nuevo objeto de tipo HedgeDoc utilizando el mensaje new. Este objeto se asigna a la variable doc. 2. Ahora el mensajes new envían varios mensajes al objeto doc: tales como: * url: Configura la URL del objeto doc. Toma como argumento la concatenación de commonAddress (una dirección común) y la representación de cadena de session. * Ahora utiliza retrieveContents: el cual es un mensaje que permite recuperar el contenido de la URL configurada en el objeto doc.

      En general, el código utiliza el iterador collect: el cual controla la iteración sobre la colección sessions y aplica el bloque definido [:session | a cada elemento de la colección.

      Al ejecutar todo este código se obtiene el siguiente resultado:

    4. sessions := 1 to: 11

      El tipo de mensaje es keyword porque son aquellos mensajes que consisten en uno o más nombres de argumentos precedidos por dos puntos (:). Su composición parte de:

      Un receptor (objeto), el mensaje (método a utilizar) y el argumento que son los valores que se pasan al método para que pueda realizar la tarea. En los mensajes keyword, los argumentos están precedidos por dos puntos (:) y separados por comas (,).

      Para este caso: * El objeto es sessions. * El mensaje es to * y el argumento pasado por el método to es el 11, Esto indica que la secuencia de números enteros debe ir desde 1 hasta 11 inclusive.

  3. Apr 2024
    1. sessions := 1 to: 11

      El tipo de mensaje es keyword porque son aquellos mensajes que consisten en uno o más nombres de argumentos precedidos por dos puntos (:). Su composición parte de:

      Un receptor (objeto), el mensaje (método a utilizar) y el argumento que son los valores que se pasan al método para que pueda realizar la tarea. En los mensajes keyword, los argumentos están precedidos por dos puntos (:) y separados por comas (,).

      Para este caso: * El objeto es sessions. * El mensaje es to * y el argumento pasado por el método to es el 11, Esto indica que la secuencia de números enteros debe ir desde 1 hasta 11 inclusive.

  4. May 2023
    1. (daysIndexes collect: [:letter | (Shortener enlarge: commonAddress, letter asString) ])

      Mensaje keyword * receptor: daysIndexes * mensaje: collect: * argumento: [:letter | (Shortener enlarge: commonAddress, letter asString)]

    2. dataWeekDailyNoteAddresses collectWithIndex: [:address :i | | hedgeDoc | hedgeDoc := HedgeDoc new url: address; retrieveContents. hedgeDoc metadata at: 'title' put: ('acceso23 : sesión ', i asString). hedgeDoc ]

      Mensaje keyword * receptor: dataWeekDailyNoteAddresses * mensaje: CollectWithIndex: * argumento: [:address :i | | hedgeDoc | hedgeDoc := HedgeDoc new url: address; retrieveContents. hedgeDoc metadata at: 'title' put: ('acceso23 : sesión ', i asString). hedgeDoc]

    1. repositoryFolder := FileLocator documents / 'Acceso\kathy29-wikilexias\'. wikiFolder := repositoryFolder / 'wiki'. wikiSubfolder := wikiFolder / 'es' / 'RecuperacionClasesAccesibilidad'. wikiSubfolder ensureCreateDirectory

      Mensajes keyword:

      • receptor repositoryFolder :=
      • mensaje: FileLocator documents
      • argumento: 'Acceso\kathy29-wikilexias\'.

      Mensajes Binarios:

      wikiFolder := repositoryFolder / 'wiki',

      • receptor: repositoryFolder
      • argumento: 'wiki'.

      Mensajes keyword:

      wikiSubfolder := wikiFolder / 'es' / 'RecuperacionClasesAccesibilidad',

      • receptor: wikiFolder
      • argumentos: 'es' y 'RecuperacionClasesAccesibilidad'
    2. hedgeDoc file: wikiSubfolder / ('Accesibilidad-K','.md'). hedgeDoc exportAsFile. hedgeDoc asMarkdeep exportAsFile. wikiSubfolder

      Mensajes Binarios:

      • receptor: wikiSubfolder
      • argumentos: ('Accesibilidad-K', '.md').

      Mensaje Keyword:

      • receptor: hedgeDoc
      • mensaje: asMarkdeep
      • argumento adicional: exportAsFile.
    1. hedgeDocs doWithIndex: [:hedgeDoc :i | hedgeDoc file: wikiSubfolder / ('semanti', i asString, '.md').
      • receptor: hedgeDocs
      • mensaje: doWithIndex:
      • argumento:[:hedgeDoc :i |
      • hedgeDoc file: wikiSubfolder / ('semanti', i asString, '.md').
    1. hedgeDocs doWithIndex: [:hedgeDoc :i | hedgeDoc file: wikiSubfolder / ('acceso23-', i asString, '.md'). hedgeDoc exportAsFile. hedgeDoc asMarkdeep exportAsFile. ].

      Mensaje en cascada

      Receptor: hedgeDocs doWithIndex:

      Argumento: [:hedgeDoc :i | hedgeDoc file: wikiSubfolder / ('acceso23-', i asString, '.md'). hedgeDoc exportAsFile. hedgeDoc asMarkdeep exportAsFile. ].

      Mensaje: exportAsFile.

    2. dataWeekDailyNoteAddresses := (daysIndexes collect: [:letter | (Shortener enlarge: commonAddress, letter asString) ]) select: [:each | each beginsWith: 'https' ]

      Mensaje en cascada y keyword.

      Receptor: dataWeekDailyNoteAddresses :=

      Mensaje: (daysIndexes collect: y (Shortener enlarge: commonAddress, letter asString)

      Argumento: [:each | each beginsWith: 'https' ]

    3. hedgeDocs := dataWeekDailyNoteAddresses collectWithIndex: [:address :i | | hedgeDoc | hedgeDoc := HedgeDoc new url: address; retrieveContents. hedgeDoc metadata at: 'title' put: ('Acceso 23: día ', i asString). hedgeDoc ]

      Mensaje en cascada y keyword.

      Receptor: hedgeDocs :=

      Argumento: at: 'title' put: ('Acceso 23: día ', i asString).

      Mensaje: collectWithIndex: y retrieveContents.