Hi, Laurent,

Infix (operators) has higher precedence than prefix (function
evaluation), so the expression

    if get in info? to-file elt 'type = 'file [print elt]

is actually treated by REBOL in the same order as if parenthesized as

    if get (in (info? (to-file elt)) ('type = 'file)) [print elt]

that is, the IN is applied to the INFO? object, but the second
argument is the LOGICAL! value FALSE, which, as the error message
stated, is not a WORD! value.

Since you just want to exclude subdirectories from the list of
contents of the current directory, you could write

     foreach elt read %. [if not dir? elt [print elt]]

instead.

-jn-


Laurent Giroud wrote:
> 
> Hi everyone again,
> 
> I have a little "problem" that I encounter quite frequently with 'if
...
> 
> this simply prints the list of files in the current folder and works
> quite fine :
> 
> >> foreach elt read %. [if (get in info? to-file elt 'type) = 'file [print elt]]
...
> 


-- 
; Joel Neely                             joeldotneelyatfedexdotcom
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 ]
-- 
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the 
subject, without the quotes.

Reply via email to