simple view question
[1/2] from: rishioswal::yahoo::com at: 9-Apr-2001 23:42
why is it that code in layout can use some rebol code without parenthesis. For example, you can use the function 'read in a layout block as shown below. In addition, why can some functions be used and others cannot...ei. you can't use the function 'print directly in layout. why this: view layout [text read %file.txt] and not this: view layout [ text "hello" print "how do you do" ]
[2/2] from: brett:codeconscious at: 10-Apr-2001 17:19
First thing to say is that the layout function takes the VID dialect as input. A dialect follows a syntax that may be different from "normal" rebol code. The short answer is VID doesn't handle the print function because print does not return a value that VID expects. Going back to why the first example works. Well, read %file.txt returns a string and VID can use strings. Probe returns a value - the value that it was given so this works: view layout [ text "hello" probe "how do you do" ] and so does this view layout [ text probe "how do you do" ] and so does this bizarre-function: does [ for i 1 5 1 [print i] "bizarre function result"] view layout [ text bizarre-function ] Also note that VID allows a single (once only) evaluation of an arbtrary expression using the word do Like this: view layout [ text "hello" do [print "how do you do"] ] I hope that helps. Maybe someone else can put it more succinctly. Regards, Brett.