Foros-FIUBA Foros HostingPortal
 FAQ  •  Buscar  •  Wiki  •  Apuntes  •  Planet  •  Mapa  •  Eyeon  •  Chat
Preferencias  •  Grupos de Usuarios
Registrarse  •  Perfil  •  Entrá para ver tus mensajes privados  •  Login
Ver tema siguiente
Ver tema anterior

Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente
Autor Mensaje
fer90
Nivel 9


Edad: 33
Registrado: 14 Sep 2009
Mensajes: 1117
Ubicación: San Martín
Carrera: Informática y Sistemas
CARRERA.informatica.png
MensajePublicado: Sab Ago 25, 2012 7:59 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

te faltó poner el "new"?

conjunto := OrderedCollection new.

EDIT: BTW, cuando salta la ventana de error, podés fijarte exactamente en qué parte del code está dicho error con alguna de las opciones. Cuando eso pase y no tengas ni idea de cómo arreglarlo, pegá el error con la respectiva parte del code acá.

_________________
¿Y quién te va a tirar las postas y truquitos para cada materia?
Nosotros...Chat-Fiuba. Somos más grandes que Jesús.

Cumple sus sueños quien resiste!!!

Tauro Género:Masculino Caballo OfflineGalería Personal de fer90Ver perfil de usuarioEnviar mensaje privado
Uciel
Nivel 6


Edad: 33
Registrado: 16 Ago 2010
Mensajes: 288

Carrera: Informática
argentina.gif
MensajePublicado: Sab Ago 25, 2012 8:12 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

buscando en internet encontre algo, no se si servira. fer90 si llegas en encontrar una rta igual tirala, que mañana trato de terminarlo ^^u....es el unico medodo q me falta igual, supongo q si los demas estan bien me lo aprobaran el tp Smile

Saluteee


Tauro Género:Masculino Caballo OfflineGalería Personal de UcielVer perfil de usuarioEnviar mensaje privado
Marvel
Nivel 4



Registrado: 28 Nov 2009
Mensajes: 84

Carrera: Sistemas
blank.gif
MensajePublicado: Dom Ago 26, 2012 6:04 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Ya que estan hablando del tema...como leo algo por teclado en pharo? Por que tengo que ingresar valores al vector y la verdad no tengo la menor idea de como hacer para leer por teclado. Osea yo quiero hacer:
unaColeccion:= Coleccion new.
unaColeccion agregar: 100

Como leo ese 100? Nose como hacer para pasar por parametro algo a un metodo...

Gracias de antemano!


   OfflineGalería Personal de MarvelVer perfil de usuarioEnviar mensaje privado
fer90
Nivel 9


Edad: 33
Registrado: 14 Sep 2009
Mensajes: 1117
Ubicación: San Martín
Carrera: Informática y Sistemas
CARRERA.informatica.png
MensajePublicado: Dom Ago 26, 2012 6:20 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Marvel escribió:
Ya que estan hablando del tema...como leo algo por teclado en pharo? Por que tengo que ingresar valores al vector y la verdad no tengo la menor idea de como hacer para leer por teclado. Osea yo quiero hacer:
unaColeccion:= Coleccion new.
unaColeccion agregar: 100

Como leo ese 100? Nose como hacer para pasar por parametro algo a un metodo...

Gracias de antemano!


No es necesario "leer por teclado".
El método (o "mensaje" como los llama Fontela en la primer clase teórica) pasa como parámetro el objeto "100". Ahora bien, cuando vos escribís el método corresponiente en la clase correspondiente, tenés que especificar que se le va a pasar un parámetro.
Por ejemplo, en tu caso, el code del método será:

agregar: unElemento
"Cuerpo del método"

Ese "unElemento" que escribís ahí, es el parámetro correspondiente, y dentro del cuerpo de tu método utilizarás "unElemento" para lo que sea que el método haga.
Es lo mismo que en C, que las funciones tiene sus parámetros (con el nombre que vos le indiques) y los usás en el cuerpo de la función como vos quieras. Al momento de llamar a la función, ésta toma el argumento que se la pasa en el llamado.
En tu caso, cuando se pase el método agregar: 100, unElemento será reemplazado por 100.

_________________
¿Y quién te va a tirar las postas y truquitos para cada materia?
Nosotros...Chat-Fiuba. Somos más grandes que Jesús.

Cumple sus sueños quien resiste!!!

Tauro Género:Masculino Caballo OfflineGalería Personal de fer90Ver perfil de usuarioEnviar mensaje privado
Uciel
Nivel 6


Edad: 33
Registrado: 16 Ago 2010
Mensajes: 288

Carrera: Informática
argentina.gif
MensajePublicado: Dom Ago 26, 2012 7:05 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

ajam!! o sino podes hacer algo q debatimos en la pagina anterior, creas un atributo de la clase OrderedCollection y usas los metodos ya definidos por el OrderedCollection. Ej:

conjunto := OrderedCollection new
conjunto add: 100


Tauro Género:Masculino Caballo OfflineGalería Personal de UcielVer perfil de usuarioEnviar mensaje privado
Uciel
Nivel 6


Edad: 33
Registrado: 16 Ago 2010
Mensajes: 288

Carrera: Informática
argentina.gif
MensajePublicado: Dom Ago 26, 2012 7:08 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

obviamente, al metodo le tenes q pasar un parametro. Podes poner:

agregar: unElemento

conjunto add: 100

donde previamente tuviste que haber definido

conjunto := OrderedCollection new

con el metodo initialize


Tauro Género:Masculino Caballo OfflineGalería Personal de UcielVer perfil de usuarioEnviar mensaje privado
Uciel
Nivel 6


Edad: 33
Registrado: 16 Ago 2010
Mensajes: 288

Carrera: Informática
argentina.gif
MensajePublicado: Dom Ago 26, 2012 7:09 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Cita:
te faltó poner el "new"?
conjunto := OrderedCollection new.


no no, el "new" lo puse. Fue, lo pregunto en clase. Si me lo saben explicar dejo la rta aca para el prox que tenga la misma duda, sino lo seguimos charlando :P


Tauro Género:Masculino Caballo OfflineGalería Personal de UcielVer perfil de usuarioEnviar mensaje privado
Marvel
Nivel 4



Registrado: 28 Nov 2009
Mensajes: 84

Carrera: Sistemas
blank.gif
MensajePublicado: Dom Ago 26, 2012 7:16 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

fer90 escribió:
Marvel escribió:
Ya que estan hablando del tema...como leo algo por teclado en pharo? Por que tengo que ingresar valores al vector y la verdad no tengo la menor idea de como hacer para leer por teclado. Osea yo quiero hacer:
unaColeccion:= Coleccion new.
unaColeccion agregar: 100

Como leo ese 100? Nose como hacer para pasar por parametro algo a un metodo...

Gracias de antemano!


No es necesario "leer por teclado".
El método (o "mensaje" como los llama Fontela en la primer clase teórica) pasa como parámetro el objeto "100". Ahora bien, cuando vos escribís el método corresponiente en la clase correspondiente, tenés que especificar que se le va a pasar un parámetro.
Por ejemplo, en tu caso, el code del método será:

agregar: unElemento
"Cuerpo del método"

Ese "unElemento" que escribís ahí, es el parámetro correspondiente, y dentro del cuerpo de tu método utilizarás "unElemento" para lo que sea que el método haga.
Es lo mismo que en C, que las funciones tiene sus parámetros (con el nombre que vos le indiques) y los usás en el cuerpo de la función como vos quieras. Al momento de llamar a la función, ésta toma el argumento que se la pasa en el llamado.
En tu caso, cuando se pase el método agregar: 100, unElemento será reemplazado por 100.


Muchisimas gracias! Ahora tengo otro tema...como hago para obtener un elemento de mi vector. Ejemplo: Hago:

unVector:= OrderedCollection new.
unVector add: 100.
Transcript show: [unVector get:1]

Pero esto no me devuelve 100 sino "[unVector get:1]"

Me falta esto y ya casi estoy, la verdad re jodido hacer este tp, no por la difucultad, nos largaron en re bolas los profesores, tanta charla se mando sobre como "hacer un mejor curso" y al final no explico nada de sintaxis de Pharo...


   OfflineGalería Personal de MarvelVer perfil de usuarioEnviar mensaje privado
Marvel
Nivel 4



Registrado: 28 Nov 2009
Mensajes: 84

Carrera: Sistemas
blank.gif
MensajePublicado: Dom Ago 26, 2012 7:17 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

fer90 escribió:
Marvel escribió:
Ya que estan hablando del tema...como leo algo por teclado en pharo? Por que tengo que ingresar valores al vector y la verdad no tengo la menor idea de como hacer para leer por teclado. Osea yo quiero hacer:
unaColeccion:= Coleccion new.
unaColeccion agregar: 100

Como leo ese 100? Nose como hacer para pasar por parametro algo a un metodo...

Gracias de antemano!


No es necesario "leer por teclado".
El método (o "mensaje" como los llama Fontela en la primer clase teórica) pasa como parámetro el objeto "100". Ahora bien, cuando vos escribís el método corresponiente en la clase correspondiente, tenés que especificar que se le va a pasar un parámetro.
Por ejemplo, en tu caso, el code del método será:

agregar: unElemento
"Cuerpo del método"

Ese "unElemento" que escribís ahí, es el parámetro correspondiente, y dentro del cuerpo de tu método utilizarás "unElemento" para lo que sea que el método haga.
Es lo mismo que en C, que las funciones tiene sus parámetros (con el nombre que vos le indiques) y los usás en el cuerpo de la función como vos quieras. Al momento de llamar a la función, ésta toma el argumento que se la pasa en el llamado.
En tu caso, cuando se pase el método agregar: 100, unElemento será reemplazado por 100.


Muchisimas gracias! Ahora tengo otro tema...como hago para obtener un elemento de mi vector. Ejemplo: Hago:

unVector:= OrderedCollection new.
unVector add: 100.
Transcript show: [unVector get:1]

Pero esto no me devuelve 100 sino "[unVector get:1]"

Me falta esto y ya casi estoy, la verdad re jodido hacer este tp, no por la difucultad, nos largaron en re bolas los profesores, tanta charla se mando sobre como "hacer un mejor curso" y al final no explico nada de sintaxis de Pharo...


   OfflineGalería Personal de MarvelVer perfil de usuarioEnviar mensaje privado
Uciel
Nivel 6


Edad: 33
Registrado: 16 Ago 2010
Mensajes: 288

Carrera: Informática
argentina.gif
MensajePublicado: Dom Ago 26, 2012 7:23 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

naaaaa.....no te puedo creer!! ya lo solucione, por unos parentesis del o... me tiraba ese error, osea yo estaba poniendo:

conjunto at: 3>conjunto at: 2 ifTrue: [^ true] ifFalse: [^ false]

y despues de leer un poco de precedencia en smalltalk, me di cuenta que era asi:

(conjunto at: 3)>(conjunto at: 2 ) ifTrue: [^ true] ifFalse: [^ false]

que OJO!!! no es lo mismo que poner:

(conjunto at: 3 > conjunto at: 2) ifTrue: [^ true] ifFalse: [^ false]

porque siempre lo evalua de izquierda a derecha y en base a mensajes. En resumen: una cag... el lenguaje este :P

bueno, un saludo a fer90 por la ayudita Very Happy


Tauro Género:Masculino Caballo OfflineGalería Personal de UcielVer perfil de usuarioEnviar mensaje privado
fer90
Nivel 9


Edad: 33
Registrado: 14 Sep 2009
Mensajes: 1117
Ubicación: San Martín
Carrera: Informática y Sistemas
CARRERA.informatica.png
MensajePublicado: Dom Ago 26, 2012 7:25 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Marvel escribió:
fer90 escribió:
Marvel escribió:
Ya que estan hablando del tema...como leo algo por teclado en pharo? Por que tengo que ingresar valores al vector y la verdad no tengo la menor idea de como hacer para leer por teclado. Osea yo quiero hacer:
unaColeccion:= Coleccion new.
unaColeccion agregar: 100

Como leo ese 100? Nose como hacer para pasar por parametro algo a un metodo...

Gracias de antemano!


No es necesario "leer por teclado".
El método (o "mensaje" como los llama Fontela en la primer clase teórica) pasa como parámetro el objeto "100". Ahora bien, cuando vos escribís el método corresponiente en la clase correspondiente, tenés que especificar que se le va a pasar un parámetro.
Por ejemplo, en tu caso, el code del método será:

agregar: unElemento
"Cuerpo del método"

Ese "unElemento" que escribís ahí, es el parámetro correspondiente, y dentro del cuerpo de tu método utilizarás "unElemento" para lo que sea que el método haga.
Es lo mismo que en C, que las funciones tiene sus parámetros (con el nombre que vos le indiques) y los usás en el cuerpo de la función como vos quieras. Al momento de llamar a la función, ésta toma el argumento que se la pasa en el llamado.
En tu caso, cuando se pase el método agregar: 100, unElemento será reemplazado por 100.


Muchisimas gracias! Ahora tengo otro tema...como hago para obtener un elemento de mi vector. Ejemplo: Hago:

unVector:= OrderedCollection new.
unVector add: 100.
Transcript show: [unVector get:1]

Pero esto no me devuelve 100 sino "[unVector get:1]"

Me falta esto y ya casi estoy, la verdad re jodido hacer este tp, no por la difucultad, nos largaron en re bolas los profesores, tanta charla se mando sobre como "hacer un mejor curso" y al final no explico nada de sintaxis de Pharo...


Ahora no recuerdo exacta la sintaxis pero probá sacar los corchetes y poner paréntesis en vez de eso.
Cuando vos usás corchetes estás delimitando un bloque de código. (Por ejemplo IfTrue: ["Bloque de codigo si es verdadero"]).
Ahora bien, el método "show" que le pasás, al encerrar "unVector get:1" entre corchetes creo que lo está tomando como un string, y justamente te está mostrando exactamente eso.
Es decir, no es que el método "get" está devolviendo "unVector get:1", sino que Smalltalk está tomando esa línea como un string para mostrar en el transcript.

_________________
¿Y quién te va a tirar las postas y truquitos para cada materia?
Nosotros...Chat-Fiuba. Somos más grandes que Jesús.

Cumple sus sueños quien resiste!!!

Tauro Género:Masculino Caballo OfflineGalería Personal de fer90Ver perfil de usuarioEnviar mensaje privado
Marvel
Nivel 4



Registrado: 28 Nov 2009
Mensajes: 84

Carrera: Sistemas
blank.gif
MensajePublicado: Dom Ago 26, 2012 7:43 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

No che, no anda ni con eso, la verdad me esta sacando canas verdes, encima me lei los 3 capitulos que dijo el profe y ni asi, que vena este tp!!!


   OfflineGalería Personal de MarvelVer perfil de usuarioEnviar mensaje privado
Uciel
Nivel 6


Edad: 33
Registrado: 16 Ago 2010
Mensajes: 288

Carrera: Informática
argentina.gif
MensajePublicado: Dom Ago 26, 2012 7:43 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

jajaja...si a mi me paso lo mismo, no se en q curso estaras de fontanella pero los profes nos explicaron muy por el aire como usar Pharo.

¿probaste con "unVector at:1" ?


Tauro Género:Masculino Caballo OfflineGalería Personal de UcielVer perfil de usuarioEnviar mensaje privado
Marvel
Nivel 4



Registrado: 28 Nov 2009
Mensajes: 84

Carrera: Sistemas
blank.gif
MensajePublicado: Dom Ago 26, 2012 8:01 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Uciel escribió:
jajaja...si a mi me paso lo mismo, no se en q curso estaras de fontanella pero los profes nos explicaron muy por el aire como usar Pharo.

¿probaste con "unVector at:1" ?


Con eso funciono pero no puedo ponerlo en un mismo corchete, onda esto no puedo hacerlo:

Transcript show: [lista at:1 printString]

Pero si lo hago asi:

x:= lista at:1.
Transcript show: x printString

Si anda, que lenguage mas choto...

Ademas tengo el drama de que quiero hacer
n:= vector size.
1 to: n do:[:elemento | sumatoria:= sumatoria + vector at:elemento]

Y lo probe 25 veces y siempre explota, se me desordena todo y me tira 12312312 errores y encima me desordena el codigo. Definitivamente odio este lenguage

saludos!


   OfflineGalería Personal de MarvelVer perfil de usuarioEnviar mensaje privado
Lautaz
Nivel 8



Registrado: 05 Sep 2008
Mensajes: 550

Carrera: Informática y Sistemas
argentina.gif
MensajePublicado: Dom Ago 26, 2012 9:21 pm  Asunto:  (Sin Asunto) Responder citandoFin de la PáginaVolver arriba

Hola, creo que con usar paréntesis basta, si no me equivoco se te están mezclando las prioridades, es decir:

Transcript show: (lista at: 1).

El printstring es redundante, ya lo hace el Transcript show. Los corchetes son para definir bloques de código.

Y sí, Smalltalk es muy molesto. Reconozco, sin embargo, que cuando te acostumbrás un poco no es tan pesado.

_________________
61.7

Death ... By exile

 Género:Masculino  OfflineGalería Personal de LautazVer perfil de usuarioEnviar mensaje privado
Mostrar mensajes de anteriores:      
Responder al tema Ver tema anteriorEnviar por mail a un amigo.Mostrar una Lista de los Usuarios que vieron este TemaGuardar este Tema como un archivoPrintable versionEntrá para ver tus mensajes privadosVer tema siguiente

Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro
No podés responder a temas en este foro
No podés editar tus mensajes en este foro
No podés borrar tus mensajes en este foro
No podés votar en encuestas en este foro
No Podéspostear archivos en este foro
No Podés bajar archivos de este foro


Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker
365 Attacks blocked.

Powered by phpBB2 Plus, phpBB Styles and Kostenloses Forum based on phpBB © 2001/6 phpBB Group :: FI Theme :: Mods y Créditos

Foros-FIUBA está hosteado en Neolo.com Cloud Hosting

[ Tiempo: 0.2172s ][ Pedidos: 20 (0.1452s) ]