Mas Celeste y por favor feedback

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Mas Celeste y por favor feedback

Edgar De Cleene
En la inicializacion de Celeste tenemos

openDB
    "Open an existing mail database."

    Transcript show: 'Opening mail database ''', rootFilename, '''...'.
    messageFile := MessageFile openOn: rootFilename, '.messages'.
    indexFile := IndexFile openOn: rootFilename, '.index' messageFile:
messageFile readLogFlag: true.
    categoriesFile := CategoriesFile openOn: rootFilename, '.categories'.
    self spamFilter. "Open spam filter file, if necessary."
    Transcript show: 'Done.'; cr.

En este caso rootFilename es nil, por lo que falla

Cambie

rootFilename
    "Answer my root filename."

    ^rootFilename ifNil: [rootFilename := 'EMAIL']

Para que en caso de ser nil, tome el valor que se viene usando en Celeste.

Pero sigue fallando:

Así que me vi obligado a hacer esta truchada:

openDB
    "Open an existing mail database."
rootFilename := self rootFilename.

    Transcript show: 'Opening mail database ''', rootFilename, '''...'.
    messageFile := MessageFile openOn: rootFilename, '.messages'.
    indexFile := IndexFile openOn: rootFilename, '.index' messageFile:
messageFile readLogFlag: true.
    categoriesFile := CategoriesFile openOn: rootFilename, '.categories'.
    self spamFilter. "Open spam filter file, if necessary."
    Transcript show: 'Done.'; cr.

Y asi ando (³anduvo estupido un tiempo, dijo el cura²)

Alguien que sepa Smalltalk , que me aclare porque funciono alguna vez y
porque sin la truchada no se ³obliga² a rootFilename  a tomar el valor
correcto.

Edgar
Reply | Threaded
Open this post in threaded view
|

Re: Mas Celeste y por favor feedback

Gastón Dall' Oglio
Hola Edgar.
Muy graciosos algunos mail y la crónicas, gracias por compartirlos a vos (y
los demás de la lista).
Pero bueno, ahora al problema, estas olvidando el self para "ejecutar" el
inicialización tardía:
 messageFile := MessageFile openOn: *self* rootFilename, '.messages'.

Saludos!

El 9 de diciembre de 2011 08:00, Edgar J. De Cleene
<[hidden email]>escribió:

>
>
> En la inicializacion de Celeste tenemos
>
> openDB
>     "Open an existing mail database."
>
>     Transcript show: 'Opening mail database ''', rootFilename, '''...'.
>     messageFile := MessageFile openOn: rootFilename, '.messages'.
>     indexFile := IndexFile openOn: rootFilename, '.index' messageFile:
> messageFile readLogFlag: true.
>     categoriesFile := CategoriesFile openOn: rootFilename, '.categories'.
>     self spamFilter. "Open spam filter file, if necessary."
>     Transcript show: 'Done.'; cr.
>
> En este caso rootFilename es nil, por lo que falla
>
> Cambie
>
> rootFilename
>     "Answer my root filename."
>
>     ^rootFilename ifNil: [rootFilename := 'EMAIL']
>
> Para que en caso de ser nil, tome el valor que se viene usando en Celeste.
>
> Pero sigue fallando:
>
> Así que me vi obligado a hacer esta truchada:
>
> openDB
>     "Open an existing mail database."
> rootFilename := self rootFilename.
>
>     Transcript show: 'Opening mail database ''', rootFilename, '''...'.
>     messageFile := MessageFile openOn: rootFilename, '.messages'.
>     indexFile := IndexFile openOn: rootFilename, '.index' messageFile:
> messageFile readLogFlag: true.
>     categoriesFile := CategoriesFile openOn: rootFilename, '.categories'.
>     self spamFilter. "Open spam filter file, if necessary."
>     Transcript show: 'Done.'; cr.
>
> Y asi ando (“anduvo estupido un tiempo, dijo el cura”)
>
> Alguien que sepa Smalltalk , que me aclare porque funciono alguna vez y
> porque sin la truchada no se “obliga” a rootFilename  a tomar el valor
> correcto.
>
> Edgar
>  
>
Reply | Threaded
Open this post in threaded view
|

Re: Mas Celeste y por favor feedback

garduino
In reply to this post by Edgar De Cleene
A ver si entiendo, vos decís que sin asignar a rootFilename el valor de
"self rootFilename" no funciona? no entrega el valor "EMAIL"?

No será que rootFilename es una variable común y no una instvar y por lo
tanto no preserva el contenido? Me huele a eso, porque si decís que anda
con el self, es que lo estás forzando a evaluarse.

Fijate que en un workspace si hacés:

| rootFilename |
^rootFilename ifNil: [rootFilename := 'EMAIL']

y lo evaluás  devuelve 'EMAIL'

pero si a continuación evaluás de nuevo, sólo hasta

| rootFilename |
^rootFilename

devuelve nil.

es un buen punto para poner un self halt y mirar qué hace el Smalltalk :)

SAludos.



El 9 de diciembre de 2011 08:00, Edgar J. De Cleene
<[hidden email]>escribió:

> **
>
>
> En la inicializacion de Celeste tenemos
>
> openDB
>     "Open an existing mail database."
>
>     Transcript show: 'Opening mail database ''', rootFilename, '''...'.
>     messageFile := MessageFile openOn: rootFilename, '.messages'.
>     indexFile := IndexFile openOn: rootFilename, '.index' messageFile:
> messageFile readLogFlag: true.
>     categoriesFile := CategoriesFile openOn: rootFilename, '.categories'.
>     self spamFilter. "Open spam filter file, if necessary."
>     Transcript show: 'Done.'; cr.
>
> En este caso rootFilename es nil, por lo que falla
>
> Cambie
>
> rootFilename
>     "Answer my root filename."
>
>     ^rootFilename ifNil: [rootFilename := 'EMAIL']
>
> Para que en caso de ser nil, tome el valor que se viene usando en Celeste.
>
> Pero sigue fallando:
>
> Así que me vi obligado a hacer esta truchada:
>
> openDB
>     "Open an existing mail database."
> rootFilename := self rootFilename.
>
>     Transcript show: 'Opening mail database ''', rootFilename, '''...'.
>     messageFile := MessageFile openOn: rootFilename, '.messages'.
>     indexFile := IndexFile openOn: rootFilename, '.index' messageFile:
> messageFile readLogFlag: true.
>     categoriesFile := CategoriesFile openOn: rootFilename, '.categories'.
>     self spamFilter. "Open spam filter file, if necessary."
>     Transcript show: 'Done.'; cr.
>
> Y asi ando (“anduvo estupido un tiempo, dijo el cura”)
>
> Alguien que sepa Smalltalk , que me aclare porque funciono alguna vez y
> porque sin la truchada no se “obliga” a rootFilename  a tomar el valor
> correcto.
>
> Edgar
>  
>



--
============================================
Germán S. Arduino  <gsa @ arsol.net>   Twitter: garduino
Arduino Software  http://www.arduinosoftware.com
PasswordsPro  http://www.passwordspro.com
Promoter http://www.arsol.biz
============================================
Reply | Threaded
Open this post in threaded view
|

Re: Mas Celeste y por favor feedback

Edgar De Cleene
In reply to this post by Gastón Dall' Oglio
> Hola Edgar.
> Muy graciosos algunos mail y la crónicas, gracias por compartirlos a vos (y
> los demás de la lista).
> Pero bueno, ahora al problema, estas olvidando el self para "ejecutar" el
> inicialización tardía:
>  messageFile := MessageFile openOn: self rootFilename, '.messages'.
>
> Saludos!


Si, me imaginaba.

Pero el tema es que en el método original no estaba.
En fin, Celeste no se toca desde el 2004 y consegui algo de Lex Spoon del
2006.

Los que quieran probar , hacer
MCHttpRepository
    location: 'http://www.squeaksource.com/Ladrillos/'
    user: ''
    password: ''

Y buscar la ultima version Network-Mail Reader-edc.23.
Corrijo la truchada y actualizo.

Gracias Gaston, ya entro en Skype esperando al ruso (será ruso ?)

Edgar



Reply | Threaded
Open this post in threaded view
|

Re: Mas Celeste y por favor feedback

Gastón Dall' Oglio
De nada Edgar.
Un abrazo.

El 9 de diciembre de 2011 09:57, Edgar J. De Cleene
<[hidden email]>escribió:

>
>  > Hola Edgar.
> > Muy graciosos algunos mail y la crónicas, gracias por compartirlos a vos
> (y
> > los demás de la lista).
> > Pero bueno, ahora al problema, estas olvidando el self para "ejecutar" el
> > inicialización tardía:
> > messageFile := MessageFile openOn: self rootFilename, '.messages'.
> >
> > Saludos!
>
> Si, me imaginaba.
>
> Pero el tema es que en el método original no estaba.
> En fin, Celeste no se toca desde el 2004 y consegui algo de Lex Spoon del
> 2006.
>
> Los que quieran probar , hacer
> MCHttpRepository
> location: 'http://www.squeaksource.com/Ladrillos/'
> user: ''
> password: ''
>
> Y buscar la ultima version Network-Mail Reader-edc.23.
> Corrijo la truchada y actualizo.
>
> Gracias Gaston, ya entro en Skype esperando al ruso (será ruso ?)
>
> Edgar
>
>  
>