[Seaside] Dynamic typing in smalltalk

Josef Springer Josef.Springer at joops.com
Sat Oct 30 09:33:01 UTC 2010


Alexandre BP wrote:
> thanks for your time,
> Your second solution seems very nice I'll try it as soon as possible.
>
> The second one however forces me to have a big list of loops that look 
> like '(selectedType = 'Book') ifTrue: [var := PaperBibliArticle new]. ' 
> which is neither clean nor evolutive.
> I wanted to do something like:
>
>  dynamicTyping := ('PaperBibli', selectedType, ' new') asSymbol.
Here you get a classname.
> bibEntry := PaperBibli perform: dynamicTyping.
Try something like "dynamicTyping perform #new."
May be you must convert dynamicTyping to a real class (e.g. in VW with 
class QualifiedName)
>
> OR
>
>  dynamicTyping := ('PaperBibli', selectedType) asSymbol.
> bibEntry := PaperBibli perform: dynamicTyping new.
>
> --> it doesn't work unfortunately ...
>
> OR:
>
> As in JAVA:
>
> PaperBibli bibEntry;
>
> (when I need it)
> bibEntry = new PaperBibliArticle;
>
> Anyway I'll try the second solution which is more elegant.
> thank you very much
> alex
>
>
>  
>
> > Date: Fri, 29 Oct 2010 13:56:14 -0300
> > From: andres at lifia.info.unlp.edu.ar
> > To: seaside at lists.squeakfoundation.org
> > Subject: Re: [Seaside] Dynamic typing in smalltalk
> >
> > Hi Alexandre,
> > I guess you could try two approaches:
> >
> > 1. Just list the classes in a select, so that the first step is 
> choosing
> > the entry. Once you have this you just create the appropriate class.
> >
> > 2. Decouple the type of the object from the object itself (check also
> > http://www.ksc.com/article3.htm). Thus PaperBibli would know an object
> > (lets say PaperType) whose subclasses would be Book, Article, etc. When
> > the user selects the type he wants you just set the object's type. The
> > type class is the one that holds the type-specific information.
> >
> > HTH,
> > Andrés
> >
> > Alexandre BP escribió:
> > > thank you for your replyI have a class named "PaperBibli" which 
> keeps a list of bibliographic entries.Those entries are of different 
> type: Article, Book, Conference,...Every type has its own fields such 
> as: author,title,...
> > > --> I created SubClasses of "PaperBibli" for each type so that 
> when I instanciate an bibliographic entry I don't have lots of 
> variables(fields) which are empty because not required in a particular 
> type.The problem is that when I instanciate my bibliographic entry I 
> still don't know of which type it is because the user tell me so by 
> choosing in a scroll list.
> > > I hope that my explanation is clear
> > >
> > >
> > >
> > > Date: Fri, 29 Oct 2010 12:24:22 -0400
> > > Subject: Re: [Seaside] Dynamic typing in smalltalk
> > > From: sean at monkeysnatchbanana.com
> > > To: seaside at lists.squeakfoundation.org
> > >
> > > There are types in smalltalk. Each object has a type.
> > > That aside, what are you trying to accomplish with your example below?
> > >
> > > On Fri, Oct 29, 2010 at 12:13 PM, Alexandre BP 
> <abalonpe at ulb.ac.be> wrote:
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > Hello,
> > > I would like to know if it is possible to apply dynamic typing in 
> smalltalk. For example, If I want to use polymorphism, it would be:
> > > var := Class new. var := (SubClass1) message. var := (SubClass2) 
> message.
> > >
> > > Where message from SubClass1 is different then the one from 
> SubClass2.Is there any solution for my problem? I know that there is 
> no type in smalltalk but there is definitely a way to use polymorphism 
> right?
> > >
> > > Thank you in advance,Regardsalex
> > >
> > > _______________________________________________
> > >
> > > seaside mailing list
> > >
> > > seaside at lists.squeakfoundation.org
> > >
> > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> > >
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > seaside mailing list
> > > seaside at lists.squeakfoundation.org
> > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> > >
> > >
> > > 
> ------------------------------------------------------------------------
> > >
> > > _______________________________________________
> > > seaside mailing list
> > > seaside at lists.squeakfoundation.org
> > > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> > _______________________________________________
> > seaside mailing list
> > seaside at lists.squeakfoundation.org
> > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
> ------------------------------------------------------------------------
>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>   

-- 

mit freundlichen Grüßen / best regards,
Josef Springer
(Geschäftsleitung/Management)

Postal
	Address
	_Josef.Springer at joops.com_
	Orlando-di-Lasso Str. 2
	D-85640 Putzbrunn
Phone
	Office
	+49 (0)89 600 6920
	
	
Phone 	Fax
	+49 (0)89 600 69220
	
	
Web
	Web
	http://www.joops.com
	
	

JOOPS
	(HRB München 86239)

*-- the software company --*

-------------- next part --------------
Skipped content of type multipart/related


More information about the seaside mailing list