Search the web
Sign In
New User? Sign Up
st-br · Smalltalk Brasil
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
Squeak Smalltalk   Message List  
Reply | Forward Message #137 of 256 |
RE: [st-br] Squeak Smalltalk

Oi Elias,

um forma fácil pode ser criar uma clase que corresponda a cada linha do .csv

por exemplo:

Object
CsvRecord

ahí podes colocar um mensagem de clase para instanciar eles a partir do
arquivo.
Seria algo tipo:

CsvRecord class>>fromFilename: aString
"Answers the CvsRecords that can be created based from <aString>
filename."
| fileStream |

[fileStream := FileStream fileNamed: aString.
self collectCsvRecordsFrom: fileStream] ensure: [ fileStream close]

logo implementando #collectCsvRecordsFrom: ...

CsvRecord class>>collectCsvRecordsFrom: aStream
"Returns a collection of CvsRecords parsed from aStream."
| col |
col := OrderedCollection new.
[aStream atEnd] whileFalse:[col add:(self fromCvsLine: aStream nextLine
separator: $; )].
^ col

e implementando #fromCvsLine:separator: ...

CsvRecord class>>fromCvsLine: aString separator: aCharacter
"Returns an instance of the receiver,
created parsing aString considering aCharacter as separators."

^ self newFromStrings: (aString subStrings: (Array with: aCharacter))

Ahí tu podes implementar uma subclase de CsvRecord que reflita o objeto que
debe
modelar esa fila. Para continuar com o exemplo vamos supor que seja Pessoa:

Nessa subclase tu coloca o método de clase #newFromStrings:

Pessoa class>>newFromStrings: someStrings
"Returns a new instance of the receiver based on someStrings."

^ super new
name: (someStrings at:1);
id: (someStrings at:2);
address: (someStrings at:3);
yourself

Uma outra estrategia para abordar este tipo de problemas é usar uma clase que
parsee basada no stream que lei do file e que te retorna as instancias criadas a
partir de
cada linha. Essa ultima estrategia teria vantagems se tu necessita "interpretar"
o
conteudo de formas diferentes. Nesse caso seria so ler o mesmo arquivo com
diferentes
parsers.

Lendo de novo tu email, em tu exemplo deve de ter alguma coisa de cotação não
é?
se é assim debe pensar bem no conceito que tem por trais do dado csv porque com
ST tu vai
poder modelar o registro mais poderias poder fazer coisas muito mais
interesantes do que
isso se tiver modelado o conceito correto (ainda que o dado continue a ser leido
de csv,
bases de dados o qualquer outra fonte). Dica: frecuentemente o "conceito
correto" mais
adecuado a ser modelado no mundo virtual não tem nada de criativo respeito ao
mundo real.

Qualquer duvida so falar !

Uma duvida, voces lá na UNIR ja testarom trabalhar com o Dolphin Smalltalk
Comunity Edition da Object Arts?

Sebastian Sastre

ssastre@...
Seaswork
Special Software Solutions

Este mensaje y sus adjuntos son confidenciales y de uso exclusivo para el
usuario a quien
esta dirigido. Puede contener información amparada por el secreto profesional.
Si Ud. no
es el destinatario especificado no debe copiar, enviar o utilizar ninguna parte
del mismo
y/o de sus adjuntos por ningún medio tecnológico. Las opiniones vertidas son
responsabilidad del autor y no son emitidas ni avaladas por SEASWORK a menos que
se
indique claramente lo contrario y que la identidad y autoridad del autor, para
comprometer
a nuestra empresa, puedan ser verificados. No se garantiza la integridad de los
mensajes
enviados por e-mail ni que los mismos sean enviados en termino, o que no
contengan errores
o virus. El emisor no aceptara responsabilidad por los errores, modificaciones u
omisiones
que resulten en el mensaje, bajo la hipótesis de que pudo ser modificado.



> -----Original Message-----
> From: st-br@yahoogroups.com [mailto:st-br@yahoogroups.com] On
> Behalf Of eliasreislima
> Sent: Monday, October 30, 2006 5:46 PM
> To: st-br@yahoogroups.com
> Subject: [st-br] Squeak Smalltalk
>
> Ola pessoal!
> Muito legal a iniciativa de vcs de reunirem o pessoal que
> trabalha com Smalltalk aqui no Brasil.. show mesmo.
> Atualmente sou bolsista num laboratorio da Universidade
> Federal de Rondonia - UNIR e trabalho com Squeak Smalltalk na
> implementacao de modelos socio-economicos com meu orientador.
> Inclusive nesse sentido, to com algumas duvidas... e gostaria
> de perguntar: como faco pra carregar 1 arquivo .csv no
> squeak? Na verdade, preciso carregar as variaveis do meu
> programa com os parametros contido nesse arquivo .csv.
>
> Grato.
>
>
>
>
>
>
> Yahoo! Groups Links
>
>
>
>




Mon Oct 30, 2006 10:59 pm

ssastre@...
Send Email Send Email

Forward
Message #137 of 256 |
Expand Messages Author Sort by Date

Ola pessoal! Muito legal a iniciativa de vcs de reunirem o pessoal que trabalha com Smalltalk aqui no Brasil.. show mesmo. Atualmente sou bolsista num...
eliasreislima
Offline Send Email
Oct 30, 2006
10:07 pm

Oi Elias, um forma fácil pode ser criar uma clase que corresponda a cada linha do .csv por exemplo: Object CsvRecord ahí podes colocar um mensagem de clase...
Sebastián Sastre
ssastre@...
Send Email
Oct 30, 2006
11:03 pm

Olá Sebastián, Obrigado pela ajuda. Nunca testamos o dolphin Smalltalk aqui... ... linha do .csv ... partir do arquivo. ... nextLine ... objeto que debe ... ...
eliasreislima
Offline Send Email
Nov 8, 2006
5:48 pm

Olha, para quem não ficar a vontade com a interface do Squeak, com certeza vai gostar mais. Em geral eu acho que vale a pena olhar ele... é um produto da...
Sebastián Sastre
ssastre@...
Send Email
Nov 8, 2006
11:24 pm

Elias, ... A lista não teve muito movimento este ano, mas espero que com a chegada de milhões da máquinas rodando Squeak em 2007 as coisas fiquem mais ...
Jecel Assumpcao Jr
jeceljr
Offline Send Email
Oct 30, 2006
11:06 pm

... Prezado Jecel, probavelmente isso ajude mais não vejo que isso acontecerá só, per-se. Colocando como exemplo esta lista, acho que pode ter acontecido...
Sebastián Sastre
ssastre@...
Send Email
Nov 1, 2006
11:07 am

Sebastián, ... O que eu quis dizer é que muitas crianças e professores vão ter contato com o eToys (por enquanto é a única atividade que está...
Jecel Assumpcao Jr
jeceljr
Offline Send Email
Nov 2, 2006
12:49 am
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help