pokemonTournament := DataFrame withColumnNames: #(figther1 fighter2 moveFigther1 moveFigther2 winner)

pokemonTournament := DataFrame withColumnNames: #(figther1 fighter2 moveFigther1 moveFigther2 winner)

pokemonTournament := DataFrame withColumnNames: #(figther1 fighter2 moveFigther1 moveFigther2 winner)
NO PUDE UTILIZAR ESTE METODO utilice este :
pokemonTournament := DataFrame withColumns: #((ROUND1 ROUND2 ROUND3 ROUND4 ROUND5) (Pikachu No No No No) (Ditto No No Ditto No) (No Balbasaur No No No) (No Charmander No Charmander Charmander) (No No Charizard No No) (No No Squirtle No Squirtle) (Ditto Charmander Squirtle Charmander Charmander)).
roundBetweenFighters value: fighter1 value: fighter2
Aqui no se coloca el nombre, pero se entiende que el fighter1 es pikachu y el me va a traer los datos de él lo mismo si le digo fighter 2 el entiende que es Ditto...
pokemonTournament addRow: (roundBetweenFighters value: fighter1 value: fighter2) named: 'round 1'
No me deja realizar la acción me sale este error

pokemonTournament := DataFrame withColumnNames: #(figther1 fighter2 moveFigther1 moveFigther2 winner)
Aqui solo le estamos diciendo que le ponga columnas a la tabla pero no las filas ¿ hay que ponerlas?
finalRound := { randomMove value: fighter1 . randomMove value: fighter2 }
Bien hasta aqui:
randomMove := [ :fighter | (fighter data at: 'moves') atRandom at: 'move' at: 'name' ]
Lo que decimos aquí es: es tráigame aleatoriamente de los datos de cualquier luchador de la lineal movimientos un movimiento al azar.
fighter1 data
Con este comando podemos traer de la API todos los atributos del objeto

fighter1 := Pokemon new name: 'pikachu'. fighter2 := Pokemon new name: 'ditto'.
Para el proyecto final he creado la CLASE: pokemon con sus objetos " fighter" y a la vez cada uno de estos con sus atributos para mi proyecto he creado 6 luchadores:



NOMBRANDO LAS COLUMNAS VISTA TREE
Después de colocar los nombres a las columnas, así se ve en la vista DATA y en la vista TREE.
pokemonTournament columnNames: #(Orden fighter1 fighter2 fighter3 fighter4 fighter5 fighter6 Winner)
Aquí le asigno el nombre de las columnas a las filas no por que sale un errror y no deja ejecutar.
po
Así la ejecuta PHARO , aquí todavía no se le asigna los nombres a las columnas
pokemonTournament := DataFrame withColumns: #((ROUND1 ROUND2 ROUND3 ROUND4 ROUND5) (Pikachu No No No No) (Ditto No No Ditto No) (No Balbasaur No No No) (No Charmander No Charmander Charmander) (No No Charizard No No) (No No Squirtle No Squirtle) (Ditto Charmander Squirtle Charmander Charmander)).
Agregue los valores específicos de cada columna, pero sin darle nombre a la columna
DATA FRAME COLUMNAS
No pude hacerlo con el comando que había dejado el profe entonces lo hice con el ejemplo del libro de crear primero columnas
okemonDataDictionaries collect: [:item | {item at: 'name' . item at: 'height' } ]
QUE nos triaga de cada uno el peso de cada item
pokemonDataDictionaries := #('pikachu' 'ditto' 'charizard') collect: [:name | pokemonDataDictionary value: name ]
Aqui estamos UNIENDO O COLLECTIONANDO informaciono de varios pokemones con el arreglo "cada uno" traigame de cada uno de estos valores "pikachu" "ditto" " charizard" los datos en diccionaRIOS
okemonDataDictionary := [ :name | | dataLink pokemonRawData | dataLink := 'https://pokeapi.co/api/v2/pokemon/', name. pokemonRawData := dataLink asUrl retrieveContents. STONJSON fromString: pokemonRawData
unimos todo en una sola ecuacion para que nos traiga informacion de cualquier pokemon con la organizacion estructurada
pokemonExampleLink value: 'ditto'
ahora que lo reemplace por el VALOR ditto
pokemonExampleLink value: 'pikachu'
De acuerdo a la instruccion anterior le decimos que nos cambie o incluya el valor NAME al fina de la ecuacion con el valor Pikachu
pokemonExampleLink := [ :name | 'https://pokeapi.co/api/v2/pokemon/', name ]
Aqui le decimons que nos cambie la VARIABlE name al final de la ecuacion - fijese que aqui estamos uniendo cadenas con la coma (,)
pokemonDataDictionary := STONJSON fromString: pokemonRawData
ahora le decimos que la informacion que extrajo y lo hizo en desorden la organice en forma estructurada como diccionario
pokemonExampleLink := 'https://pokeapi.co/api/v2/pokemon/pikachu'
Aqui le deimos a Pharo que tome esto como una URL
pokemonRawData := pokemonExampleLink asUrl retrieveContents
ahora con esto código se extrae la información de la URL anterior ósea del Pokémon "PIKACHU"
log
unario
Browser open
unario
10@20
binario
raisedTo: 5
keyword
'hello', 'world'
binario
| anArray |
unario
anArray at:
key
('first' 'second' 'third' 'fourth').
unario
anArray :=
keyword
</div>
unario
1 + (3
binario
(3 negated)
unario
true | false
Boleano
point1 distanceFrom: point2
keyword
point1 x
Unario
1 + 3 negated
binario
3 negated
unario
SmallInteger maxVal
unario
25 @50
Binario
#(2 33 -4 67) collect: [ :each | each abs ]
keyword
#(1 22 333) at: 2
keyword
#('' 'World') at: 1 put: 'Hello'
keyword
Date today
unario
3+4
Binario
sum
unario
(Integer primesUpTo: 64)
key word
((3 + 4) + (2 * 2) + (2 * 3))
binarios
x between: (pt1 x) and: (pt2 y)
key word
((#(a b c d e f) asSet) intersection: (#(f d b) asSet))
arreglo key word
#(a b c d e f) includesAll: #(f d b)
arreglo key word
3 + 2
binario
2 negated raisedTo:
key word
6 + 4 / 2
binario
each * each
binario
collect: [ :each
key word
#(2 3 -10 3)
simbolo
('first' 'second' 'third' 'fourth').
Unario
anArray :
key word
3 + 2
binario
2 raisedTo:
key word
1 + (3 negated)
binario + unario (3 negate)
1 + 3 negated
Binario
point1 distanceFrom: point2
key word
point1 x
Unario
10@20 Binario
Binario
'hello', 'world'
Binario
2 raisedTo: 5
key word
1 Browser open
unario
1 log
Unario
true
Unario
$A
caracter
[ :each | each scale: 1.5 ]
Bloque --- key word
'Hello, Dave'
cadena --- unario
1.3
Binario
Point selectors
Unario un objero + un mensaje
true | false
Mensaje booleano es falso O es verdadero
includesAll:
Key Word
SmallInteger maxVal
Unario un objeto + un mensaje
25 @50
Binario
objeto + mensaje + argumento
#(1 22 333) at: 2
Key word tambien tiene los dos puntos
#('' 'World') at: 1 put: 'Hello'
Key Word.
Palabra Clave tiene esta dividido por los dos puntos
Date today
Unario: Un objeto + Un mensaje
3+4
Binario un objeto + mensaje + argumento
2 negated raisedTo: 3 + 2
Este ejercicio tiene 3 tipo de mensaje para ejecutar 2 negated UNARIO raisedto: KEY WORD 3+2 BINARIO se debe despejar primero el unario, binario y ultimo key word
#(2 3 -10 3) collect: [ :each | each * each]
Lo que indica EACH es que tome cada caracter del simbolo y lo * MULTIPLIQUE POR SI MISMO 2+2=4 , 33=9, 1010 = 100 Y 3*3=9
| anArray | anArray := #('first' 'second' 'third' 'fourth'). anArray at: 2
Es un arreglo con un mensaje key word por que tiene dos puntos : y solicita que me traiga la posicion 2 y el resultado es second
1 + (3 negated)
Se despejan primero los mensajes unarios, despued binarios, despues key word. (3 negate) es binario primero ese y despues el binario -3 + 1= -2
* receiver:25 * selector:@ * arguments:50 * result:(25@50)
Este daba como resultado unas cordenadas y x
'PharoTutorial' asSymbol.
Se puede convertir una cadena 'pharoTutorial' a un simbolo #PharoTutorial y viveversa.
La concatenación de String usa el operador coma:
Se pueden unir varias cadenas con una coma (,)

Cadenas
Las cadenas son unir o concatenar varios caracteres para formar una palabra o expresión ' Pharo Tutorial ' es una cadena de caracteres
['PharoTutorial', ' is cool']. "versión cambiada"
Se pueden unir varias cadenas con una (,)

$A.
EJERCICIO CARACTER

1000 factorial / 999 factorial.

RESULTADO FACTORIAL
Puede encontrar cuál es el número ASCII de un carácter $@ charCode.

65 CODIGO DEL CARACTER EN ASCII
INSPECCIONANDO NUMEROS
la preocupación por una mirada crítica a los datos y el código y la formación de capacidades al respecto, de modo que el código sea más un lenguaje común en lugar de un bien exclusivo a los desarrolladores de software y a sus preocupaciones. Un código que refleje sujetos y mundos más plurales.
Para lograr que esto sea un bien para todos en el que todos puedan participar se debe empezar a capacitar desde los inicios de estudio a las personas para que estos lenguajes sean mas comprensibles y no solo los entiendan los programadores, de esta forma se puede llegar a hablar de mundos plurales
Evaluar [►]: calcula el resultado, pero no muestra. Sirve para poblar variables de los valores asociados a ellas (para colocar cosas dentro de la caja, en la analogía anterior). Inspeccionar[►i]: calcula el resultado lo muestra, permitiéndonos profundizar en lo que hay en él, el vocabulario que dicho objeto entiende y vistas alternativas del mismo, como detallaremos luego.
Entiendo que el evaluar es colocar en la caja la sintaxis de lo que se quiere realizar y el le arroja una pre evaluación antes de lanzar el comando para identificar algún error. Después con el botón inspeccionar se lanza y además se puede visualizar el código fuente del total de la acciona
libretas interactivas
Este termino describe muy bien este ejercicio de realizar una lectura anotada ya que se interactúa en el momento con el texto, también cuando realizamos código y a la vez podemos ver le interface como en HEDGEDOC.
Esto nos permite incluso ver acciones como descargar páginas desde HedgeDoc como un mensaje que se le envía a un objeto. Para más información hay un par de charlas interesantes de Anjana Vakil
Cada icono en una interfaz es un objeto, al que se le dan atributos que se relacionan y se le da una funcionalidad o método
Mensajes, pues los objetos son una idea menor y lo clave son los mensajes.
Si creo que lo importante en la programación orientada en objetos es el mensaje, pueden existir o crearsen diversos objetos con atributos propios pero debe de haber un mensaje que interconecte y de una funcionalidad
composición permite modelar objetos complejos, a partir de objetos más sencillos (si modelamos perros y gatos, podemos modelar el refugio animal).
Miles de celulas componen un organo NO una sola, asi como el cuerpo consta de varias partes manos, pies etc, pero todo es un conjunto compuesto de varias partes.
Todo es un mensaje y todo es un objeto Los objetos pueden comunicarse con otros objetos o consigo mismo. Los objetos tienen características reflexiva o de introspección: saber sobre su propio estado.
Como en el cerebro de crean relaciones neuronales el llevan los estimulos en esta caso el mensaje, y de este modo cada celula es un mundo propio el cual tiene impreso dentro de si un fin, este junto con las otras celulas se comunica para realizar la función para la que fue creada.
Según Alan Kay, la computación tiene una definición recursiva: un computador está hecho computadores más pequeños que se envían mensajes entre sí.
pienso que algunos inventos estan basados en la estructura y el funcionamiento del cuerpo humano, por ejemplo uno de los componentes esenciales de un auto es el carburador o cuerpo de injección que en el cuerpo humano se asemeja al corazón.
En esta sección veremos cómo usar Grafoscpio para importar un documento desde HedgeDoc hacia un sistema de archivos.
Estas herramientas de trabajo colaborativo son algo desconocidas, pero al entrar en actividad con ellas también surgen preguntas como por ejemplo si hacen o asemejan las aplicaciones mas conocidas como word -- si son compatibles.
¿puedo hacer estas anotaciones con cualquier lectura?
compartir y discutir nuestras anotaciones.
Esta herramienta puede ser muy útil para clubes de lectura
25 * 25.
OBJETO 1: 25 OBJETO 2: 25 MENSAJE: *
ejecutar dico contenido.
Hace falta la H dicho
Para compartir una lectura basta con cliquear en el icono para desplegar la solapa lateral derecha de Hypothesis sobre cualquiera de los textos que hayas agregado en la sección anterior. Veremos en dicha solapa una barra superior como la mostrada en la figura @fig:hyp-lateral-top-bar.
SON MUCHOS PASOS, ES MEJOR EN VIVO Y SEGUIR A ALGUIEN
Este soy yo