🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.ruby
5 messages
5 total messages Started by Szymon 'tichy' Fri, 14 Sep 2007 08:25
mapowanie w Rubym, przykład poproszę.
#644
Author: Szymon 'tichy'
Date: Fri, 14 Sep 2007 08:25
9 lines
1103 bytes
Z tego co widzę map to sierotka. Jaki jest idiom dla
mapowania dwu lub więcej tablic ?

Na przykład mając dwie tablice (jedną kluczy
drugą wartości) chciałbym z nich utworzyć
tablicę asocjacyjną. Możliwości jest kilka...
jaka będzie "najbardziej naturalna" ? ;)

TIA.
Re: mapowanie w Rubym, przykład poproszę.
#645
Author: Marcin Mielżyński
Date: Fri, 14 Sep 2007 11:14
27 lines
1418 bytes
Szymon 'tichy' wrote:
> Z tego co widzę map to sierotka. Jaki jest idiom dla
> mapowania dwu lub więcej tablic ?
> 
> Na przykład mając dwie tablice (jedną kluczy
> drugą wartości) chciałbym z nich utworzyć
> tablicę asocjacyjną. Możliwości jest kilka...
> jaka będzie "najbardziej naturalna" ? ;)
> 
> TIA.

a = [1,3,5]
b = [2,4,6]


Hash[*a.zip(b).flatten]


a.zip(b).inject({}){|h,(k,v)|h[k]=v;h}


# lub bez materializacji
require 'enumerator'
a.to_enum(:zip,b).inject({}){|h,(k,v)|h[k]=v;h}


lopex
Re: mapowanie w Rubym, przykład poproszę.
#646
Author: Szymon 'tichy'
Date: Fri, 14 Sep 2007 11:36
8 lines
1254 bytes
Chodziło mi o 'zwykłą' tablicę asocjacyjną,
tzn. taką do 'obsługi' której pomyślano metody
assoc i rassoc (btw, dlaczego one (owe metody)
nie biorą parametru blokowego (?) -- ten niedostatek
mocno ogranicza ich przydatność...)

Przykłady z haszami są ciekawe, dziękuję.
Trochę mnie zaskoczyły ;)
Re: mapowanie w Rubym, przykład poproszę.
#648
Author: Szymon 'tichy'
Date: Fri, 14 Sep 2007 11:38
5 lines
1028 bytes
P.S.

'zip' jakoś przeoczyłem... nazwa mi się specjalnie z niczym nie kojarzyła... ;)

Jeszcze raz dzięki.
Re: mapowanie w Rubym, przykład poproszę.
#647
Author: Przemysław Kowalczyk
Date: Fri, 14 Sep 2007 18:11
11 lines
1145 bytes
On Fri, 14 Sep 2007 13:36:26 +0200, Szymon 'tichy' <fooshmoo@glombraz.org>  
wrote:

> Chodziło mi o 'zwykłą' tablicę asocjacyjną,
> tzn. taką do 'obsługi' której pomyślano metody
> assoc i rassoc

no to po prostu: a.zip(b).flatten

pzdr
	szeryf
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