Paul Hodges wrote:
--- David Christensen <[EMAIL PROTECTED]> wrote:
I'm looking in S09, and reading about junctions. It seems to me
that if we have a junction $j which we use to index into an array
or a hash, it should DWIM and return a junction of the corresponding
values.
@ar=[1..10];
%hash=(a=>1,b=>4,c=>7);
$j=1|2|3;
$k="a"|"c";
$u = @ar[$j]; # 2|3|4
$v = %hash{$k}; # 1|7
Does this make sense to others?
David
Maybe, but I don't like returning junctures in those cases unless you
*explicitly* ask for it. I'd rather the default be the arbitrary lists
returned, or whatever fits the context. How about
@ar=[a..z];
%hash=(a=>1,b=>4,c=>7);
$j=1|2|3;
$k="a"|"c";
@u = @ar[$j]; # (b..d)
%u = @ar[$j].kv; # (1=>'b',2=>'c',3=>'d')
$u = @ar[$j]; # \(b..d)
$ju = juncture @ar[$j]; # 'b'|'c'|'d'
@v = %hash{$k}; # (1,7)
%v = %hash{$k}.kv; # (a=>1,c=>7)
$v = %hash{$k}; # \(1,7)
$jv = juncture %hash{$k}; # 1|7
Am I way off base here?
What would you propose
@v[all(any(4,5),one(1,2,3),none(7,8,9))]
return?
-- Rod Adams