Hello [EMAIL PROTECTED]!

On 16-Set-00, you wrote:

 j>>> test-select: func [b [block!] k [any-type!] v
 j> [any-type!]] [
 j>    [    append b reduce [k v]
 j>    [    select b k
 j>    [    ]
 j>>> blk: []
 j>    == []

Try this:

>> test-select: func [b k v] [
[    append b reduce [k v]
[    select/only b k
[    ]
>> blk: []    
== []
>> test-select blk "a" "b"
== "b"
>> test-select blk [2 3] 6
== 6

 j>>> select blk reduce [[2 3]]
 j>    == 6

 j> Now THAT was a surprise! I'll be glad to hear any explanations
 j> anyone can offer for that last case! Whatever the explantion

REBOL functions tend to treat series as a sequence of values, not
as a single value. They have the /ONLY refinement to treat series
as a single value. You SELECT was serching for the value 2
followed by the value 3, not for the value [2 3].

Also notice that:

>> blk: [1 2 "one-two" 1 3 "one-three" 2 3 "two-three"]
== [1 2 "one-two" 1 3 "one-three" 2 3 "two-three"]
>> select blk [1 2]
== "one-two"
>> select blk [1 3]
== "one-three"
>> select blk [2 3]
== "two-three"

Regards,
    Gabriele.
-- 
Gabriele Santilli <[EMAIL PROTECTED]> - Amigan - REBOL programmer
Amiga Group Italia sez. L'Aquila -- http://www.amyresource.it/AGI/

Reply via email to