- May 2024
-
chiselapp.com chiselapp.com
-
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étodoto
es el11
, Esto indica que la secuencia de números enteros debe ir desde 1 hasta 11 inclusive. -
27 * 23
Para este ejercicio el tipo de mensaje es binario porque se compone de tres partes: receptor (objeto), selector (mensaje) y argumento.
- Objeto: es el receptor del mensaje. En este caso, el objeto es el número 27.
- Mensaje: es la acción que se le está enviando al objeto. Para este ejemplo, el mensaje es la operación de multiplicación representada por el selector ( * ), que indica que se debe multiplicar el objeto con el argumento.
- Argumento: es el valor que se pasa al mensaje o con el que se realizar la operación. Para este caso, el argumento es el número 23.
En concusión, devuelve como resultado.
-
-
chiselapp.com chiselapp.com
-
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 eldo
, el cual se utiliza para recorrer cada elemento de la colección o objetomemories
y ejecutar el bloque proporcionado para cada uno de ellos.
Resultado devuelto al ejecutar todo el bloque:
- El objeto es:
-
folder := FileLocator documents / 'USemanticas\leidy-palma\Wiki\es\sesiones'.
Este es un tipo de mensaje binario en donde
Objeto:
- El objeto principal en este ejemplo es
FileLocator
, que es una clase en Pharo utilizada para ubicar archivos en el sistema de archivos.
Mensaje:
- El mensaje principal enviado es /, que es un mensaje binario. Este mensaje se utiliza para combinar dos rutas de archivos o directorios.
Argumento:
- El argumento del mensaje / es la cadena
'USemanticas\leidy-palma\Wiki\es\sesiones',
que representa la ruta relativa de un directorio en el sistema de archivos.
Este ejercicio devuelve como resultado:
- El objeto principal en este ejemplo es
-
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, yindex
, que representa el índice del elemento en la colección.
Dentro del bloque: * El objeto
item
es el elemento actual de la colecciónmemories
. * El mensaje enviado esmetadata
, que es un mensaje enviado al objeto item. Este mensaje obtiene los metadatos asociados con el elemento actual. * El argumento del mensajeat: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:
- Objeto (receptor): es
-
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 variabledoc
. 2. Ahora el mensajes new envían varios mensajes al objetodoc
: tales como: *url
: Configura la URL del objetodoc
. Toma como argumento la concatenación decommonAddress
(una dirección común) y la representación de cadena desession
. * Ahora utilizaretrieveContents
: el cual es un mensaje que permite recuperar el contenido de la URL configurada en el objetodoc
.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:
-
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 esto
* y el argumento pasado por el métodoto
es el11
, Esto indica que la secuencia de números enteros debe ir desde 1 hasta 11 inclusive. -
commonAddress := 'https://docutopia.sustrato.red/semanticas:24A'
Para este caso es un tipo de mensaje unario en donde
-
El objeto es 'https://docutopia.sustrato.red/semanticas:24A', siendo esta un literal de cadena (string).
-
Seguidamente, el mensaje es la variable commonAddress que al ejecutar esta acción devuelve como resultado
-
Tags
Annotators
URL
-
- Apr 2024
-
chiselapp.com chiselapp.com
-
commonAddress := 'https://docutopia.sustrato.red/semanticas:24
Para este caso es un tipo de mensaje unario en donde
- El objeto es 'https://docutopia.sustrato.red/semanticas:24A', siendo esta un literal de cadena (string).
- Seguidamente, el mensaje es la variable commonAddress que al ejecutar esta acción devuelve como resultado
-
'Anita lava la tina' reversed
El mensaje en este contexto es "reversed", y el objeto al que se le envía ese mensaje es la cadena de texto "Anita lava la tina". El resultado de enviar este mensaje al objeto sería la cadena de texto invertida, es decir, "anit al av al atinA".
En conclusión, el tipo de mensaje es unario porque consiste en un sólo término, es decir, no esta acompañado por ningún otro valor al enviar el mensaje.
-
-
chiselapp.com chiselapp.com
-
commonAddress := 'https://docutopia.sustrato.red/semanticas:24A'
Mensaje Unario:
- commonAddress corresponde al mensaje.
- https://docutopia.sustrato.red/semanticas:24A' es el objeto.
Por lo que al ejecutar el mensaje, arrojará este resultado:
-
-
chiselapp.com chiselapp.com
-
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 esto
* y el argumento pasado por el métodoto
es el11
, Esto indica que la secuencia de números enteros debe ir desde 1 hasta 11 inclusive. -
commonAddress := 'https://docutopia.sustrato.red/semanticas:24A'
Para este caso es un tipo de mensaje unario en donde
- El objeto es 'https://docutopia.sustrato.red/semanticas:24A', siendo esta un literal de cadena (string).
- Seguidamente, el mensaje es la variable commonAddress que al ejecutar esta acción devuelve como resultado
-
'Anita lava la tina' reversed
El mensaje en este contexto es "reversed", y el objeto al que se le envía ese mensaje es la cadena de texto "Anita lava la tina". El resultado de enviar este mensaje al objeto sería la cadena de texto invertida, es decir, "anit al av al atinA".
En conclusión, el tipo de mensaje es unario porque consiste en un sólo término, es decir, no esta acompañado por ningún otro valor al enviar el mensaje.
-
27 * 23
Para este ejercicio el tipo de mensaje es binario porque se compone de tres partes: receptor (objeto), selector (mensaje) y argumento. 1. Objeto: es el receptor del mensaje. En este caso, el objeto es el número 27. 2. Mensaje: es la acción que se le está enviando al objeto. Para este ejemplo, el mensaje es la operación de multiplicación representada por el selector ( * ), que indica que se debe multiplicar el objeto con el argumento. 3. Argumento: es el valor que se pasa al mensaje o con el que se realizar la operación. Para este caso, el argumento es el número 23. En concusión, devuelve como resultado
Tags
Annotators
URL
-
-
chiselapp.com chiselapp.com
-
collect
mensaje collect: para aplicar un bloque a cada elemento del array.
-
Date today
Date today se utiliza para obtener la fecha actual del sistema. Esto devuelve un objeto de tipo Date que representa la fecha actual
-
- Mar 2024
-
chiselapp.com chiselapp.com
-
Character space
Al conjunto de todos los caracteres, es decir Character, le estamos enviando el mensajes space, lo cual nos entrega un conjunto dentro de ese conjunto. En este caso, estamos enviando el mensaje a un conjunto, lo cual se reconoce porque su primera letra es mayúscula. Si fuera minúscula, se la estaria enviando a un elemento de un conjunto. A los conjuntos se les conoce como clases, a los elementos se les conoce como instancias.
A veces puede pasar que le enviemos un mensaje a una clase o una instancia y que el resultado caiga en otra instancia.
1 to: 10
-
- May 2023
-
chiselapp.com chiselapp.com
-
wikiFolder / 'es' / 'ClasesAccesibilidad'
Mensaje Binario * receptor:
wikiFolder/'es'
* operador:/
* argumento:'ClasesAccesibilidad'
-
repositoryFolder / 'wiki'
Mensaje Binario * receptor:
repositoryFolder
* operador:/
* argumento:wiki
-
(daysIndexes collect: [:letter | (Shortener enlarge: commonAddress, letter asString) ])
Mensaje keyword * receptor:
daysIndexes
* mensaje:collect:
* argumento:[:letter | (Shortener enlarge: commonAddress, letter asString)]
-
HedgeDoc new url: address;
Mensaje keyword * receptor:
hedgeDoc
* mensaje:url:
* argumento:address;
-
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]
-
wikiSubfolder ensureCreateDirectory
Mensaje Unario * receptor:
wikiSubfolder
* mensaje:ensureCreateDirectory
-
hedgeDoc exportAsFile
Mensaje Unario * receptor:
hedgeDoc
* mensaje:exportAsFile
-
wikiSubfolder / ('23-', i asString, '.md').
Mensaje Binario * receptor:
WikiSubfolder
* operador:/
* argumento:('23-', i asString, '.md').
-
hedgeDoc := HedgeDoc new url: address; retrieveContents.
Mensaje Unario * receptor:
hedgeDoc new
* mensaje:retrieveContents.
-
-
chiselapp.com chiselapp.com
-
hedgeDoc metadata at: 'title' put: ('Sesión del 17 de marzo').
Mensaje unario:
- receptor:
hedgeDoc
- mensaje:
metadada
Mensaje Keword:
- receptor:
hedgeDoc metadata
- mensaje:
at: put:
- argumentos:
'title'
'Sesión del 17 de marzo'
- receptor:
-
hedgeDoc := HedgeDoc new url: 'https://docutopia.sustrato.red/accesibilidad:23K?both# '; retrieveContents.
Mensaje unario:
- receptor:
hegeDoc
- mensaje:
retrieveContents
Mensaje Keyword:
- receptor:
hegeDoc
- mensaje:
url:
- argumento:
https://docutopia.sustrato.red/accesibilidad:23K?both#
- receptor:
-
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'
-
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.
-
-
chiselapp.com chiselapp.com
-
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').
-
wikiSubfolder := wikiFolder / 'wiki' / 'es'.
receptor: wikiFolder operador: ¨/¨ argumento: 'wiki' / 'es'
-
wikiFolder := repositoryFolder / 'felipe-wikifelipe'.
- receptor: wikiFolder
- operador: ¨/¨
- argumento: 'felipe-wikifelipe'
-
repositoryFolder := FileLocator D / 'semanticas2'.
- receptor: FileLocator D
- operador: /
- argumento: 'semanticas2'
-
Character alphabet copyFrom: 1 to: 23
- receptor: Character alphabet
- mensaje: copyFrom:to:
- argumento: 1, 23
-
Shortener enlarge: commonAddress, letter asString
- receptor:
Shorterner
- mensaje:
enlarge:
- argumento:
commonAddress, letter asString
- receptor:
-
commonAddress, letter asString
- receptor:
commonAddress
- operador:
,
- argmento:
letter asString
- receptor:
-
letter asString
- receptor:
letter
- mensaje:
asString
- receptor:
-
-
Local file Local file
-
wikiSubfolder
Mensaje unario
-
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.
-
wikiSubfolder ensureCreateDirectory
Mensaje unario
Receptor: wikiSubfolder
Mensaje: ensureCreateDirectory
-
wikiSubfolder := wikiFolder / 'es' / 'Acceso2023'.
Mensaje keyword
Receptor: wikiSubfolder :=
Mensaje: wikiFolder
Argumento: 'es' / 'Acceso2023'.
-
wikiFolder := repositoryFolder / 'wiki'.
Mensaje keyword
Receptor: wikiFolder :=
Mensaje: repositoryFolder
Argumento: 'wiki'.
-
repositoryFolder := FileLocator documents / 'RepositorioKath/home/'.
Mensaje keyword
Receptor: repositoryFolder :=
Mensaje: FileLocator documents
Argumento: 'RepositorioKath/home/'.
-
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' ]
-
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.
-
daysIndexes := (Character alphabet copyFrom: 1 to: 12) asUppercase asOrderedCollection. commonAddress := 'https://is.gd/acceso23'.
Mensaje keyword
Receptor: daysIndexes :=
Argumento: (Character alphabet copyFrom: 1 to: 12)y commonAddress := 'https://is.gd/acceso23'.
Mensaje: asUppercase asOrderedCollection.
Mensaje binario
Receptor: commonAddress :=
Argumento: 'https://is.gd/acceso23'.
-
- Apr 2023
-
Local file Local file
-
wikiSubfolder ensureCreateDirectory
Receptor: wikiSubfolder Mensaje: EnsureCreateDirectory
-