🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.ruby
2 messages
2 total messages Started by Zbyszek Malec Mon, 09 Mar 2009 19:59
hierarchia w miejscu
#1228
Author: 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
Re: hierarchia w miejscu
#1229
Author: Zbyszek Malec
Date: Mon, 09 Mar 2009 20:22
20 lines
1224 bytes
Dnia Mon, 9 Mar 2009 20:59:52 +0100, Zbyszek Malec napisał(a):

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

Chyba się zdecyduję na "tradycyjne" podejście, tzn coś na kształt:

c(parent,
   c('a',
      c('b'),
   ),
   c('d')
   ....
itd.

Ale jakby ktos miał jakąś sztuczkę rodem z Ruby, to bym z chęcią zobaczył

-- 
Zbyszek Malec
gg 2756100
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