World: r3wp
[SDK]
older newer | first last |
JeffM 11-Apr-2006 [474] | That's working well. Thanks |
AndrewL 18-Jun-2006 [475] | I've been reading the docs both for the preprocessor and for the newer include.r script but I'm a bit confused, I wonder if someone could help clear it up for me. Here's my situation. I have view and/or SDK installed on a PC and a script sitting on my desktop. This script needs one or more library scripts which are available from web servers. How do i write the start of the script so that I can do all of; 1) Double click and have it run in view 2) Run the preprocessor so that I have an all in one script ready to run/copy somewhere 3) Encap it by dragging and driopping it on encmdview.exe or similar I want to be able to do this without changing a single character of the script. I want to access the library files from a web server because here at work I often write scripts on various different servers and prefer to keep one copy of the libs centrally and not downloaded onto each machine. |
Gabriele 19-Jun-2006 [476x2] | one trick is to use something like: |
x: #do [1] either tuple? x [ ; script has been run directly do %include1.r do %include2.r ] [ ; script is being preprocessed/encapped #include %include1.r #include %include1.r ] | |
Anton 19-Jun-2006 [478] | don't you mean: either issue? x [... |
Gabriele 19-Jun-2006 [479x4] | about include files being on a web server, the official prebol does not support that; i think that Ladislav's INCLUDE does, and I have a patched prebol.r that does support including from urls too. |
Anton, of course i meant ISSUE?. sorry. | |
let me repeat it to avoid confusion: | |
x: #do [1] either issue? x [ ; script has been run directly do %include1.r do %include2.r ] [ ; script is being preprocessed/encapped #include %include1.r #include %include1.r ] | |
AndrewL 19-Jun-2006 [483] | Great, that works perfectly, as you said for local files.. I haven't managed to get include to work yet for remote files, is the patched prebol.r available somewhere? (your rebsite is down) |
Volker 19-Jun-2006 [484x2] | ; would this work? files: [#include %include1.r #include %include2.r] foreach files[if file? files/1[change files load files/1] do files |
at least tihis version is buggy.. | |
Ladislav 19-Jun-2006 [486x3] | I haven't managed to get include to work yet for remote files - interesting, what did you try? |
would this work? - how would you like it to work? | |
(#include is a preprocessor instruction, so it is being preprocessed usually) | |
Volker 19-Jun-2006 [489] | it read all filenames in the block and inlines them. after preprocessing there are no filenames, so it replaces nothing. without preprocessing there is all the files content. in both cases i can do it. |
Ladislav 19-Jun-2006 [490] | hmm, files/1 may be a file! even in case the source was preprocessed |
Volker 19-Jun-2006 [491] | eeks, another bug.. |
Ladislav 19-Jun-2006 [492] | ...and if won't be a file! in case the source wasn't preprocessed |
Volker 19-Jun-2006 [493x2] | and the 'change inserts multiple items. should change position. |
the äinclude would not, but the %include1.r would. | |
Ladislav 19-Jun-2006 [495x2] | did you read http://www.fm.tul.cz/~ladislav/rebol/include.html |
btw: foreach files [if file?...] is clearly not what you wanted it to be... | |
Volker 19-Jun-2006 [497x2] | i guess i trash that version completely :) |
the question was more aboutthe concepts than the implementation *whistle* | |
Ladislav 19-Jun-2006 [499] | so, did you read the above mentioned description? |
Volker 19-Jun-2006 [500x3] | Can your include also expand blocks? then this would work if not value? 'include[do 5ladislavs-include.r] include[ all the main code ] |
Not yet, thought its like prebol. sorry. | |
did now. | |
Ladislav 19-Jun-2006 [503] | Can your include expand blocks? - INCLUDE takes only FILE! or URL! argumenta |
Volker 19-Jun-2006 [504] | than my exapmle needs an extra file |
Ladislav 19-Jun-2006 [505] | it is easy to allow blocks, though, because I implemented this functionality anyway |
Volker 19-Jun-2006 [506x3] | when 'include is inbuild it is no problem. but if the main script must include to include something and want own content too, would help. |
; 'do of course.. rebol[] if not value? 'include[do %ladislavs-include.r] do include[ all the main code ] | |
no, then the include/link would be confused. | |
Ladislav 19-Jun-2006 [509x2] | I am using the mouse-click method when I want to INCLUDE something. Don't you want to describe how it can be done e.g. in Linux? |
(I mean whether you want to write a section describing how to do the same in Linux)? | |
Volker 19-Jun-2006 [511x2] | i would try a bash-script and do the same as with the windows-shortcut. |
will try. but i thought about viewtop. alsthough that one can be patched. | |
Ladislav 19-Jun-2006 [513] | this is the source: http://www.fm.tul.cz/~ladislav/rebol/include.rmd |
Volker 19-Jun-2006 [514] | Thanks. |
AndrewL 19-Jun-2006 [515x2] | When I #include http:///www.an.example.com/directory/script.rit gives an error that it can't find script.r even if I've appended the url directory to the include path ... maybe I'm assuming something somewhere |
The mouse click thing works for me by the way :) | |
Ladislav 20-Jun-2006 [517x2] | this works for me, did you try something like that? >> save %test.r [rebol [] #include http://www.fm.vslib.cz/~la dislav/rebol/lfunc.r] >> print read %test.r rebol [] #include http://www.fm.vslib.cz/~ladislav/rebol/lfun c.r >> include %test.r connecting to: www.fm.vslib.cz connecting to: www.fm.vslib.cz >> |
(sorry for line breaks) | |
Gabriele 20-Jun-2006 [519] | Andrew: I haven't published the changed prebol. (I was actually hoping for Carl to make it the default in the future.) The problem with it is that encmdview would still run with the standard prebol since it is built into the exe, so you would still have some problems. In the end, it's probably better to use Ladislav's INCLUDE function as it gives you more flexibility, and I guess it'll become the default too in the future. |
AndrewL 20-Jun-2006 [520x4] | The following is typed not pasted ... |
>> do http://www.fm.vslib.cz/ladislav/rebol/include.r | |
>> save %test.r [REBOL [] #include http://www.absentis.com/files/rebol/library/libadl/libadl.r] | |
>> include %test.r | |
older newer | first last |