🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

hierarchia w miejscu

#1228
From: Zbyszek Malec
Date: Mon, 09 Mar 2009 19:59
39 lines
1644 bytes
Czołem
Chciałem sobie zbudować statycznie pewną strukturę hierarchiczną obiektów
(kategorii dla ustalenia uwagi). Chciałbym żeby kod był jak najprostszy i
było go jak najmniej, a jak najwięcej dodawanej struktury danych. No i
wymyśliłem sobie, że zrobię to na blokach:

def add(parent, name)
  child = Category.new
  parent.children.push(child)
  child
end

i potem

main = Category.new('main')

add(main, 'sub1') do |c|
  add(c, 'sub1_1') do |c|
    add(c, 'sub1_1_1' do |c|
    end
    add(c, 'sub1_1_2') do |c|
    end
    add(c, 'sub1_1_3') do |c|
    end
  end
  add(c, 'sub1_2') do |c|
  end
end

itd.
To nie za bardzo działa (o ile się orientuję, to zmienna bloki współużywają
tutaj zmiennej c, i stąd są problemy).

Da się to jakoś podobnie zwięźle zapisać? Wymyśliłem jeszcze, żeby
posługiwać się hashami hashy, ale to trochę mniej wygodne.

-- 
Zbyszek Malec
gg 2756100
Technical Details
Message-ID: <1766rm9rsdq9k.1scvh84vluovk$.dlg@40tude.net>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Zbyszek Malec <zbyszekto@tlen.pl>
Newsgroups: pl.comp.lang.ruby
Subject: hierarchia w miejscu
Date: Mon, 9 Mar 2009 20:59:52 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 39
Message-ID: <1766rm9rsdq9k.1scvh84vluovk$.dlg@40tude.net>
NNTP-Posting-Host: 212.76.37.218
Mime-Version: 1.0
X-Trace: inews.gazeta.pl 1236628793 28126 212.76.37.218 (9 Mar 2009 19:59:53 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Mon, 9 Mar 2009 19:59:53 +0000 (UTC)
X-User: zbyszanna
User-Agent: 40tude_Dialog/2.0.15.1pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit