🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.objects
4 messages
4 total messages Started by Remigiusz Siudziński Sat, 30 Jul 2005 17:28
[smalltalk] jak utworzyc obiekt klasy o nazwie przekazanej przez Symbol?
#12201
Author: Remigiusz Siudziński
Date: Sat, 30 Jul 2005 17:28
17 lines
1216 bytes
Witam,

Mam pytanie jak w temacie. Zalozmy, ze pisze metode:

'
tworzObiektKlasy: symbolKlasy
   ^(symbolKlasy new).
'

To oczywiscie nie zadziala, gdy symbolKlasy jest obiektem klasy Symbol (np. 
#Bag).
Obiekt klasy Symbol moge przekonwertowac do obiektu klasy String, ale nie 
wiem, jak z niego zrobic obiekt, do ktorego moznaby wyslac new.

z gory dziekuje za pomoc

remont 
Re: [smalltalk] jak utworzyc obiekt klasy o nazwie przekazanej przez Symbol?
#12202
Author: Marcin 'Qrczak' Kowalczyk
Date: Sat, 30 Jul 2005 19:04
15 lines
1635 bytes
"Remigiusz Siudziński" <r0e1m2o3n4t5s@wytnijcyfry.wp.pl> writes:

> tworzObiektKlasy: symbolKlasy
>    ^(symbolKlasy new).
> '
>
> To oczywiscie nie zadziala, gdy symbolKlasy jest obiektem klasy
> Symbol (np. #Bag).

Dlaczego nie przekażesz obiektu klasy (np. Bag)?

-- 
   __("<         Marcin Kowalczyk
   \__/       qrczak@knm.org.pl
    ^^     http://qrnik.knm.org.pl/~qrczak/
Re: [smalltalk] jak utworzyc obiekt klasy o nazwie przekazanej przez Symbol?
#12203
Author: Sektor van Skijlen
Date: Mon, 01 Aug 2005 06:54
29 lines
2081 bytes
Dnia Sat, 30 Jul 2005 19:28:44 +0200, "Remigiusz Siudzi?ski" skrobie:
> Witam,

> Mam pytanie jak w temacie. Zalozmy, ze pisze metode:

> '
> tworzObiektKlasy: symbolKlasy
>    ^(symbolKlasy new).
> '

> To oczywiscie nie zadziala, gdy symbolKlasy jest obiektem klasy Symbol (np. 
> #Bag).
> Obiekt klasy Symbol moge przekonwertowac do obiektu klasy String, ale nie 
> wiem, jak z niego zrobic obiekt, do ktorego moznaby wyslac new.

Normalnie, żeby utworzyć obiekt, potrzebujesz do tego celu klasę. Sam string
czy Symbol niczego ci nie załatwi, niezależnie od tego, czy skądś go dostałeś,
czy podasz wprost #Nazwa.

Nie znam się na Smalltalku na tyle, żeby ci powiedzieć coś na pewno, ale
sprawdź np., czy czasem obiekt 'smalltalk' nie zawiera mapowania nazwy klasy
na obiekt klasowy. Jak go dostaniesz, to możesz mu wtedy wysyłać new.


-- 
//  _    ___         Michal "Sektor" Malecki <sektor(whirl)kis.p.lodz.pl>
\\ L_ |/ `|  /^\ ,()                         <ethourhs(O)wp.pl>
// \_ |\  \/ \_/ /\ C++ bez cholesterolu: http://www.intercon.pl/~sektor/cbx
"Java does not have pointers!"
Re: [smalltalk] jak utworzyc obiekt klasy o nazwie przekazanej przez Symbol?
#12204
Author: Piotr Palacz
Date: Sun, 07 Aug 2005 17:29
42 lines
1748 bytes
On 2005-07-30 12:28:44 -0500, "Remigiusz Siudziñski" 
<r0e1m2o3n4t5s@wytnijcyfry.wp.pl> said:

> Witam,
> 
> Mam pytanie jak w temacie. Zalozmy, ze pisze metode:
> 
> '
> tworzObiektKlasy: symbolKlasy
>    ^(symbolKlasy new).
> '

tworzObiektKlasy: nazwaKlasy

^( Smalltalk at: nazwaKlasy ifAbsent: [ ...] ) perform: #new

np.:

(Smalltalk at: #OrderedCollection) perform: #new


Konstrukcja taka nie jest w praktyce do czegokolwiek przydatna;
jeden z powodow to to, ze #new nie jest uniwersalnym konstruktorem.

Mozna co prawda stworzyc metode, ktora dla dowolnej nazwy klasy
zagwarantuje, ze instancja tej klasy bedzie poprawnie stworzona,
ale w praktyce nie bedzie ona uzyteczna.

HTH,

Piotr


To oczywiscie nie zadziala, gdy symbolKlasy jest obiektem klasy Symbol 
(np. #Bag).
> Obiekt klasy Symbol moge przekonwertowac do obiektu klasy String, ale 
> nie wiem, jak z niego zrobic obiekt, do ktorego moznaby wyslac new.
> 
> z gory dziekuje za pomoc
> 
> remont
> 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads