🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.ruby
Article #1185

Re: tablica

#1185
From: Radosław Bułat
Date: Mon, 16 Feb 2009 15:44
46 lines
2027 bytes
Bronisław Tatul pisze:
> Zaczynam dopier w ruby ale niestety perl mi juz powoli nie wystarcza, a
> pytona jakos nie trawie.
> 
> Mam pytanie jak zrobic tablicę z obiektami?

class MyClass
   attr_accessor :foo

   def initialize(foo)
     @foo = foo
   end
end

a = []
a << MyClass.new("foo")
a << MyClass.new("bar")
a.each do |o|
   puts o.foo
end

> Chciałbym takie tablice kopiować między sobą. A co jakiś czas
> poprzestawiac obiekty, albo nadac im jakieś wartości.

b = a.clone
Z tym, że tablica b będzie zawierać dokładnie te same obiekty. Jeśli 
chcesz zrobić deep clone to najprościej (nie ma gotowej metody do tego):

b = Marshal.load(Marshal.dump(a)) # pełna kopia

> 
> Jak wygląda taka tablica i jak się na niej pracuje?
> Przyklad moglby byc banalny chodzi mi o to czy da sie to szybko napisac?

Da się bardzo szybko :).

> 
> Icon jest fajny i ma wiele wynikow z jednej funkcji, ale wlasnie
> obiektowosc nie najlepszą.

Wiem, że Icon ma kilka specyficznych cech ("success" or "failure" of 
expressions) ale w Rubym też można ładnie i zwięźle pisać.

-- 
Radosław Bułat
http://radarek.jogger.pl - mój blog
Technical Details
Message-ID: <gnc1kk$dmd$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
References: <gnbei2$oj4$1@atlantis.news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Radosław Bułat <radarrek@poczta.fm>
Newsgroups: pl.comp.lang.ruby
Subject: Re: tablica
Date: Mon, 16 Feb 2009 16:44:18 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 46
Message-ID: <gnc1kk$dmd$1@inews.gazeta.pl>
References: <gnbei2$oj4$1@atlantis.news.neostrada.pl>
NNTP-Posting-Host: chello089074175199.chello.pl
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1234799060 14029 89.74.175.199 (16 Feb 2009 15:44:20 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Mon, 16 Feb 2009 15:44:20 +0000 (UTC)
X-User: radek.bulat
In-Reply-To: <gnbei2$oj4$1@atlantis.news.neostrada.pl>
User-Agent: Thunderbird 2.0.0.19 (X11/20090105)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit