Thread View: pl.comp.lang.ruby
2 messages
2 total messages
Started by Zbyszek Malec
Mon, 09 Mar 2009 19:59
hierarchia w miejscu
Author: Zbyszek Malec
Date: Mon, 09 Mar 2009 19:59
Date: Mon, 09 Mar 2009 19:59
39 lines
1644 bytes
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
Author: Zbyszek Malec
Date: Mon, 09 Mar 2009 20:22
Date: Mon, 09 Mar 2009 20:22
20 lines
1224 bytes
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