[REBOL] Don't feed him! He'll just keep coming back!
From: joel::neely::fedex::com at: 30-Oct-2000 17:36
Encouraged by Jeff's explanation of why there's utility in Forall
leaving the target block modified, let me ask about another case
that seems inconsistent to me.
The RCUG description of paths seems to me to say that a numeric
path component is equivalent to Pick and a non-numeric component
is equivalent to Select.
It also says that None is the value that signifies "nobody home".
Assuming that these are correct readings...
>> stuff: [1 2 3 4] == [1 2 3 4]
>> pick stuff 3 == 3
>> stuff/3 == 3
; as expected
>> pick stuff 5 == none
>> stuff/5 == none
; as expected
>> nonsense: [a 4 b 3 c 2 d 1 f 0] == [a 4 b 3 c 2 d 1 f 0]
>> pick nonsense 3 == b
>> nonsense/3 == b
>> pick nonsense 12 == none
>> nonsense/12 == none
; so far so good
>> select nonsense 'b == 3
>> nonsense/b == 3
; still on track
>> select nonsense 'i == none
>> nonsense/i
** Script Error: Invalid path value: i.
** Where: nonsense/i
Where's the benefit to this inconsistency? Is there some reason
why this shouldn't evaluate to None as well?
-jn-
--
; Joel Neely [joel--neely--fedex--com] 901-263-4460 38017/HKA/9677
REBOL [] do [ do func [s] [ foreach [a b] s [prin b] ] sort/skip
do function [s] [t] [ t: "" foreach [a b] s [repend t [b a]] t ] {
| e s m!zauafBpcvekexEohthjJakwLrngohOqrlryRnsctdtiub} 2 ]