[REBOL] Evaluation/parentheses Re:
Hi, trying to continue. Suppose, that a Rebol expression is given. Then the double parentheses: ((expression)) don't force the double evaluation as was demonstrated (I mean that we get a result of the expression, but we don't force Rebol to evaluate it once more). There is a way we can force double evaluation like this: do expression but be warned! This is not the double evaluation in the case where the result of the expression is a block, a string, ... Ladislav
[REBOL] Re: Evaluation/functions Re:(9)
Hello [EMAIL PROTECTED]! On 01-Gen-00, you wrote: l> actually, I have only described a different model of l> evaluation, not the one used in Rebol. Oh, sorry then. :-) l> You can't cause additional evaluation in Rebol by adding l> parentheses. Yup. And this is intuitive for me: (2 + 4) shouldn't be different from 2 + 4. Regards, Gabriele. -- o) .-^-. (--o | Gabriele Santilli / /_/_\_\ \ Amiga Group Italia --- L'Aquila | | GIESSE on IRC \ \-\_/-/ / http://www.amyresource.it/AGI/ | o) `-v-' (--o
[REBOL] Simple Password Checking Re:(3)
If it helps you, or anyone else, there are * FREE * servers where you can run CGI, including REBOL I think. Tripod, for example. A script on one server could provide access to a hidden file on another server. Otherwise, the best solution would probably be to regularly rename the page or folder you are trying to protect, and then emailing the new hyperlink to the authorized users. Most browsers will automaticaly download linked files, if that is what you are after. Just put the filename in as the target, and the browser will do the rest. Though, I'm a little confused as to why you started off asking about perl and putting a script on your site, if you can't run scripts on your site. Java applets are also server-side. Javascript runs client-side, but you don't need that for any of this. The true facts are that you can't really protect files without help on the server-side. The best you can do is keep moving them around so that they are hard to find without knowing today's secret URL. -Ted. *** REPLY SEPARATOR ***On 1/1/1998 at 11:04 AM [EMAIL PROTECTED] wrote: Thank you Ted for your comments but actually I have no such a web server where I can manipulate permissions and so on. My website is hosted by some guys I don't even know but don't allow CGI scriptting on their server. I need to find ways that don't envolve server side solutions to handle protection file stuff. It seems that only with a Java Applet I could do that. Am I wrong? -Original Message-From: [EMAIL PROTECTED] <[EMAIL PROTECTED]>To: /B>[EMAIL PROTECTED] <[EMAIL PROTECTED]>Date: Thursday, December 30, 1999 5:13 PMSubject: [REBOL] Simple Password Checking Re: Why don't you want them to enter their own username and password? If that's not a critical requirement, and if you're using an Apache Web server, you should be able to do this just by editing a permissions file in whatever directories you want to protect. The browser would then prompt for the username and password automatically, and there is nothing else to do. Under Windows, I think if their desktoip login name/password matches a Website user/password, they might not be prompted at all, but I would have to check that. Another approach would be to use a script that checked the password in an internal file, and then passed them the URL to download from a secret directory on your server. If you didn't want them to bother with a password the second time, from the same location, you could save the user information in a cookie. In either case, they wouldn't need REBOL on their machines. It can all be handled server side. Entering the username/password at least once seems simpler than getting people to install REBOL to run one script. If this is a critical requirement for same reason, another idea might be to distribute a HTML page with their username and password embedded in a "click me" hyperlink, which would then send this to a server-side script (see approach /2). -Ted. *** REPLY SEPARATOR ***On 12/30/1999 at 3:28 PM [EMAIL PROTECTED] wrote: Hi Rebols, I'm fighting against the idea of having to learn Perl or Java just to get this small project: I'm considering the possibility of having a script on my web site that could grant permission to some users to download files according to the rights they have. The idea is to distribute REBOL.EXE to the people I want to access my web site so they can login without having to enter USERNAME & PASSWORD. All they have to do is to run this script that probably will have to have their username & password values inside it and also what files each user can download. Since username and password match, the script will write on user's machine their files. Is it possible? Does anyone here would like to make me a draft of this in REBOL? Some code I could use as a start point, since I'm a beginner. Thanks for any help Happy New Year to you all from Brazil! Carlos
[REBOL] Evaluation/parentheses Re:(2)
[EMAIL PROTECTED] wrote: > > > ((expression)) > > don't force the double evaluation as was demonstrated (I mean that we get a > result of the expression, but we don't force Rebol to evaluate it once > more). > > There is a way we can force double evaluation like this: > > do expression > > but be warned! This is not the double evaluation in the case where the > result of the expression is a block, a string, ... > Along the same vein >> bingo: "Woof!" == "Woof!" >> join "b" ["i" "n" "g" "o"] == "bingo" >> (join "b" ["i" "n" "g" "o"]) == "bingo" >> ((join "b" ["i" "n" "g" "o"])) == "bingo" (just as you've been saying), but >> do join "b" ["i" "n" "g" "o"] == "Woof!" >> do (join "b" ["i" "n" "g" "o"]) == "Woof!" with, or without, the parentheses >> blk: [join "b" ["i" "n" "g" "o"]] == [join "b" ["i" "n" "g" "o"]] >> reduce blk == ["bingo"] >> reduce reduce blk == ["bingo"] All of this is despite the descriptions of >> ? do Evaluates a block, file, URL, function, word, or any other value. Arguments: value -- Normally a file name, URL, or block Refinements: /args -- If value is a script, this will set its system/script/args arg -- Args passed to a script. Normally a string. /next -- Do next expression only. Return block with result and new position. and >> ? reduce Evaluates an expression or block of expressions and returns the result. Arguments: value -- Now, is it just me (again ;-) or does it appear that the term "evaluates" doesn't mean the same thing in these two descriptions? -jn-
[REBOL] Evaluation/parentheses Re:(3)
The word "evaluates" is surely used inconsistently (with two different meanings) throughout the doc's, so I tried to suggest the use of two notions: "evaluates" and "is interpreted (as containing Rebol code)" > [EMAIL PROTECTED] wrote: > > > > > > ((expression)) > > > > don't force the double evaluation as was demonstrated (I mean that we get a > > result of the expression, but we don't force Rebol to evaluate it once > > more). > > > > There is a way we can force double evaluation like this: > > > > do expression > > > > but be warned! This is not the double evaluation in the case where the > > result of the expression is a block, a string, ... > > > > Along the same vein > > >> bingo: "Woof!" > == "Woof!" > >> join "b" ["i" "n" "g" "o"] > == "bingo" > >> (join "b" ["i" "n" "g" "o"]) > == "bingo" > >> ((join "b" ["i" "n" "g" "o"])) > == "bingo" > > (just as you've been saying), but > > >> do join "b" ["i" "n" "g" "o"] > == "Woof!" > >> do (join "b" ["i" "n" "g" "o"]) > == "Woof!" > > with, or without, the parentheses > > >> blk: [join "b" ["i" "n" "g" "o"]] > == [join "b" ["i" "n" "g" "o"]] > >> reduce blk > == ["bingo"] > >> reduce reduce blk > == ["bingo"] > > All of this is despite the descriptions of > > >> ? do > Evaluates a block, file, URL, function, word, or any other value. > Arguments: > value -- Normally a file name, URL, or block > Refinements: > /args -- If value is a script, this will set its > system/script/args > arg -- Args passed to a script. Normally a string. > /next -- Do next expression only. Return block with result > and new position. > > and > > >> ? reduce > Evaluates an expression or block of expressions and returns > the result. > Arguments: > value -- > > Now, is it just me (again ;-) or does it appear that the term > "evaluates" doesn't mean the same thing in these two descriptions? > > -jn- > > >
[REBOL] Evaluation/functions Re:(11)
What would you choose, if I gave you two choices: a) to be free to interchange 6 and (2 + 4) b) to have some cases where you can't interchange 6 and (2 + 4)? Regards, Ladislav > Yup. And this is intuitive for me: (2 + 4) shouldn't be different > from 2 + 4. > > Regards, > Gabriele. > -- > o) .-^-. (--o > | Gabriele Santilli / /_/_\_\ \ Amiga Group Italia --- L'Aquila | > | GIESSE on IRC \ \-\_/-/ / http://www.amyresource.it/AGI/ | > o) `-v-' (--o > > > >
[REBOL] Evaluation/words
>From rebol22-draft-manual\expevaluation.html: {{ Words are evaluated somewhat differently than simple values. When a word is evaluated its value is looked-up, evaluated, and returned as a result. }} This statement looks oversimplified to me. It is not valid in the following example: b: "Expected result" a: 'b a yields: >> b: "Expected result" == "Expected result" >> a: 'b == b >> a == b ,which surely differs from evaluated B It shall be reworded to something like this: {{ Words are evaluated somewhat differently than simple values. When a word is evaluated, its assigned value is looked-up. If the assigned value is a word, the assigned value is returned as a result. If the assigned value is not a word, it is evaluated and returned as a result. }} Ladislav
[REBOL] Basic string functions?
Hello, folks: I don't use REBOL for parsing yet, but someone else is asking me: Does anyone know if/when basic string functions** are going to be added to REBOL/Core or parse, or am I missing something in the docs? **you know, LEFT, RIGHT, LENGTH, etc. -- ---===///||| Donald Dalley |||\\\===--- The World of AmiBroker Support http://webhome.idirect.com/~ddalley Member: ICOA and Team AMIGA
[REBOL] Basic string functions? Re:
Donald Dalley wrote: > I don't use REBOL for parsing yet, but someone else is asking me: > > Does anyone know if/when basic string functions** are going to be added to REBOL/Core or parse, or am I missing something in the docs? > > **you know, LEFT, RIGHT, LENGTH, etc. Here's some: >> string: "hello" == "hello" >> length? string == 5 >> left: func [S [string!] N [integer!]] [copy/part S N] >> left string 2 == "he" >> right: func [S [string!] N [integer!]] [copy/part at S (length? S) - N + 1 N] >> right string 3 == "llo" >> mid: func [S [string!] I [integer!] N [integer!]] [copy/part at S I N] >> mid string 2 3 == "ell" I can't remember if there's any others. Everyone is free to use the above as they wish. Oh, and if you change the "[string!]" to "[series!]", they'll work on blocks as well as strings. :-D I hope that helps! Andrew Martin BASIC REBOL... [EMAIL PROTECTED] http://members.xoom.com/AndrewMartin/ Online @ 33,600 Baud! -><-
[REBOL] Basic string functions? Re:
Hi Donald, > Does anyone know if/when basic string functions** are going to be added to > REBOL/Core or parse, or am I missing something in the docs? > **you know, LEFT, RIGHT, LENGTH, etc. For getting the length of a string, look at this example example-string: "Hello World!" print length? example-string As for the others, I am not sure what you mean by "left" and "right" but you can get a single character such as in this example print pick example-string 7 REBOL does include some higher-level functions such as the parse function. You can split up a sentance by the word like this probe parse example-string none The parse function has quite a few capabilities; check the REBOL documentation for more detail. Later, Eric
[REBOL] Printing
Hello Rebols, Does anyone know a good way to print from REBOL? I only need to print text. Later, Eric
[REBOL] Basic string functions? Re:(2)
Thx much! Good stuff for those of us just getting started to play with. ~ -Original Message- ~ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] ~ Sent: Sunday, January 02, 2000 5:20 PM ~ To: [EMAIL PROTECTED] ~ Subject: [REBOL] Basic string functions? Re: ~ ~ ~ Donald Dalley wrote: ~ > I don't use REBOL for parsing yet, but someone else is asking me: ~ > ~ > Does anyone know if/when basic string functions** are going to be ~ added to REBOL/Core or parse, or am I missing something in the docs? ~ > ~ > **you know, LEFT, RIGHT, LENGTH, etc. ~ ~ Here's some: ~ ~ >> string: "hello" ~ == "hello" ~ >> length? string ~ == 5 ~ >> left: func [S [string!] N [integer!]] [copy/part S N] ~ >> left string 2 ~ == "he" ~ >> right: func [S [string!] N [integer!]] [copy/part at S (length? S) - ~ N + 1 N] ~ >> right string 3 ~ == "llo" ~ >> mid: func [S [string!] I [integer!] N [integer!]] [copy/part at S I ~ N] ~ >> mid string 2 3 ~ == "ell" ~ ~ I can't remember if there's any others. Everyone is free to use the ~ above as they wish. ~ Oh, and if you change the "[string!]" to "[series!]", they'll work on ~ blocks as well as strings. :-D ~ ~ I hope that helps! ~ ~ Andrew Martin ~ BASIC REBOL... ~ [EMAIL PROTECTED] ~ http://members.xoom.com/AndrewMartin/ ~ Online @ 33,600 Baud! ~ -><- ~ ~
[REBOL] Evaluation Re:
[EMAIL PROTECTED] wrote: > > datatype!, object!, port!, refinement!, none!, logic!, integer!, > decimal!, money!, time!, date!, char!, tuple!, bitset!, string!, > issue!, binary!, file!, email!, url!, tag!, block!, hash!, list! > > All the values of these types evaluate returning themself. > And some of them have some curious behavior! In the case of >> mytime: now/time == 20:32:33 >> mytime/hour == 20 >> mytime/minute == 32 >> mytime/minute == 32 >> mytime/minute: 35 == 20:35:33 >> mytime == 20:32:33 and >> mydate: now/date == 2-Jan-2000 >> mydate/day == 2 >> mydate/month == 1 >> mydate/year == 2000 >> mydate/day: 3 == 3-Jan-2000 >> mydate == 2-Jan-2000 it would appear that we have composite values that are immutable, in the sense that they possess internal structure, but an attempt to change a component of that structure returns a new value of the same type, without modifying the original. This is, of course, in contrast to the mutability of strings. Incidentally, this also puts an interesting spin on the 'same? function. As the internals of a time! or date! can't be altered, it is "safe" to consider any two equal time or date values to be the same: >> mydate == 2-Jan-2000 >> otherdate: make date! reduce [1 + 1 2 - 1 2 * 2 * 500] == 2-Jan-2000 >> same? mydate otherdate == true >> mytime == 20:32:33 >> othertime: make time! reduce [4 * 5 2 * 8 * (1 + 1) 3 * 11] == 20:32:33 >> same? mytime othertime == true -jn-
[REBOL] Printing Re:
[EMAIL PROTECTED] wrote: > > Does anyone know a good way to print from REBOL? I only need to print > text. > Assuming that you are using a system that has pseudo-file-names that refer to hardware devices (or communication channels), you can use 'write directed to such a file name. For example, in w95, you can say either >> write %//prn "Hello, world!^(page)" or >> write %//lpt1 "Hello, world!^(page)" Note the page eject (form feed) at the end, which is handy for continuous-form printers, and necessary for most page-mode printers (e.g., ink jet) that I've tried. -jn-
[REBOL] Basic string functions? Re:(2)
[EMAIL PROTECTED] wrote: > Hi Donald, > > > Does anyone know if/when basic string functions** are going to be added to > > REBOL/Core or parse, or am I missing something in the docs? > > **you know, LEFT, RIGHT, LENGTH, etc. > > For getting the length of a string, look at this example > > example-string: "Hello World!" > print length? example-string > > As for the others, I am not sure what you mean by "left" and "right" but > you can get a single character such as in this example > > print pick example-string 7 No, LEFT and RIGHT says how much chars from the left/right side should be returned. SUBSTRING says, from what position and how many chars to return. Some simple functions follow: left: func [str num][copy/part str num] right:func [str num][copy skip tail str negate num] substr: func [str num length][copy/part at str num length] -pekr- > > Later, > > Eric
[REBOL] What's next for REBOL...
What's next for REBOL... "More than just a tool." Since its first release, I estimate that more than 250,000 people have tried REBOL. More than 110,000 have downloaded it from REBOL.com, and it's also available on many other, larger web sites and on various CD-ROMs. In addition, I've received tens of thousands of emails from enthusiastic new users. And, perhaps even more gratifying, most people I meet these days have at least heard of REBOL. All of this is a good start. REBOL/Core is a great tool. And, if that's all you want, then there you have it: REBOL. However, I've always intended REBOL to be more than just a "tool". REBOL is a revolution. A revolution not just of "scripting", but of thought, style, content, and computing. So far, you've participated in the first stage of the revolution. That stage was centered around the core language and its environment. If you're like me, you've enjoyed writing dates, times, email, urls, money, tuples, and other datatypes in a manner that is familiar to us as humans. Perhaps you've also found the built-in network protocols useful and experienced some of the power that comes from polymorphic function-based programming with refinements. Now is the time for the second stage: REBOL/View. This stage is all about making REBOL useful and exciting for everyone else. In other words, more than just programmers and scripters should benefit from REBOL. For every scripter there are at least 100 other people who would enjoy creating or viewing visual content with REBOL. REBOL/View unites a clean method of graphical layering, compositing, and processing with the expressive leverage of dialecting. With it you create content and applications with as few lines as you accomplish other REBOL tasks such as networking. The GUI dialect allows your code to be descriptive and easy to read. In fact, it's much easier and more readable than HTML. When you combine this GUI with REBOL networking, you get a result that I enjoy calling the "World Wide Reb". Imagine a network where fully interactive graphical applications download into your system in just seconds. These REBOL "smart-client" applications run on your local system, but access the network whenever necessary to fetch other parts of the application or communicate back to various servers or other clients. So, when you click on a button, something happens... not just in a few minutes or seconds, but immediately. That seems more like the kind of technology that's worthy of a revolution. Don't get me wrong... The web is great for static, linear, document types of content. That's a necessity that will be around for a long time. But, I dream about the year 2005 and believe that our network experience will be much different by then. I'm convinced that once you have had the chance to try REBOL/View, you'll agree with me. "When" you ask? I've got the first draft design complete, and Jim has written the C-based graphical layering system. Over the last week I've added the parse block capability necessary to make dialects easier to write, and the first GUI dialect is now up and drawing screens. (Nice looking screens they are too.) My plan is to release a beta by mid-January to those of you who want to test drive it. I will provide a number of interesting example scripts that I guarantee will be immediately useful to you. There is a bonus for those of you who like technical challenges. REBOL/View will include its GUI dialect source code. That gives you the power to enhance the GUI as well as create your own custom GUI dialect, say for interactive TV, kiosks, games, or whatever. Yes, the year 2000 has finally arrived. It seems like a fitting time for a revolution, don't you think? Have a happy and REBOLlious 2000, Carl Sassenrath REBOL Creator & Founder Chairman & CEO PS: I'd like to also thank all of you who have helped support the REBOL cause and who have taken the time to share your knowledge and insights of REBOL with others on this list. Thank you so much. [Feel free to repost this email as you wish.]
[REBOL] Printing Re:(2)
Hi Joel, > Assuming that you are using a system that has pseudo-file-names that > refer to hardware devices (or communication channels), you can use > 'write directed to such a file name. Well, yes. I am developing my script under Linux, but it may be used under Mac, Win95, or any number of other platforms. I guess there really isn't a built-in printing mechanism. The workaround I have figured out is writing an html file, which can be printed from a web browser. Later, Eric
[REBOL] [REBOL] Evaluation/functions Re:(2)
[REBOL] Evaluation/functions Re:(2) > From: [EMAIL PROTECTED] > Date: Wed, 29 Dec 1999 15:32:58 -0600 > X-SELMA: [REBOL] 65680 >>> func [] [print "Executed"] > Unevaluated REBOL functions (such as the result of evaluating > 'func, or the result of 'get on a word which is bound to a > function) have no printable representation. You didn't try to 'print >> print func [] [ print "Evaluated" ] ?function? >> print mold func [] [ print "Evaluated" ] func [][print "Evaluated"] The point is that the console, 'form (used by 'print) and 'mold make a different translation of a value. The basic word to obtain an alfanumeric representation of a REBOl value is 'mold. >> ? mold Converts a value to a REBOL-readable string. Arguments: value -- The value to mold Ciao, Daniele.
[REBOL] Starting to debug
Starting to debug > From: [EMAIL PROTECTED] > Date: Mon, 27 Dec 1999 14:11:30 + > Subject: [REBOL] [REBOL] Nobody wants to play with me :-( Re: > X-SELMA: [REBOL] 64359 > > Thankyou Daniele, > I struggled to find the error but could not. [...] > This is a test for me of whether I have the smarts to > do any serious debugging in Rebol. So far I fail. Don't be afraid: this has more to do with console input and ANSI codes than with REBOL. At this time debugging a whole REBOL script isn't easy, so we'd better divide a script in smaller parts (e.g. functions). This is a good thing because we can debug each function separately (and we can reuse them in future scripts being sure that they work as expected). To help debugging you could use 'probe or make a function which prints some words or write/append them to a file, and call that function from different places. Some things in REBOL work differently from other languages (read the manual and use 'help and 'source or ask in this ML to know this). Ciao, Daniele.
[REBOL] What's next for REBOL... Re:
Hi Carl, I downloaded my email this evening, expecting something important and exciting to appear in my mailbox. I wasnt' disappointed, this is it. I can't wait to get my fingers and REBOL/View. It appears to be exactly what I've been dreaming of for some time. Java VM was too slow, too bloated and too sensitive for serious GUI based applications to be delivered over the net. Javascript is dependent on a browser environment, exists in to(w)o many incompatible dialects and is too limited to Web page designs. I found Juice to be too limited in its capabilities as well. So, even though I'm still trying to catch up with my work, which is why I haven't been able to follow the discussions on the list for some time, I had to put aside everything for a moment. Seems like the year 2000 is going to be a great year for programming. Elan At 05:02 PM 1/2/00 -0800, you wrote: >What's next for REBOL... >"More than just a tool." > >Since its first release, I estimate that more than 250,000 >people have tried REBOL. More than 110,000 have downloaded it >from REBOL.com, and it's also available on many other, larger >web sites and on various CD-ROMs. In addition, I've received >tens of thousands of emails from enthusiastic new users. And, >perhaps even more gratifying, most people I meet these days have >at least heard of REBOL. > >All of this is a good start. REBOL/Core is a great tool. And, >if that's all you want, then there you have it: REBOL. However, >I've always intended REBOL to be more than just a "tool". REBOL >is a revolution. A revolution not just of "scripting", but of >thought, style, content, and computing. > >So far, you've participated in the first stage of the >revolution. That stage was centered around the core language and >its environment. If you're like me, you've enjoyed writing >dates, times, email, urls, money, tuples, and other datatypes in >a manner that is familiar to us as humans. Perhaps you've also >found the built-in network protocols useful and experienced some >of the power that comes from polymorphic function-based >programming with refinements. > >Now is the time for the second stage: REBOL/View. This stage is >all about making REBOL useful and exciting for everyone else. In >other words, more than just programmers and scripters should >benefit from REBOL. For every scripter there are at least 100 >other people who would enjoy creating or viewing visual content >with REBOL. > >REBOL/View unites a clean method of graphical layering, >compositing, and processing with the expressive leverage of >dialecting. With it you create content and applications with as >few lines as you accomplish other REBOL tasks such as networking. >The GUI dialect allows your code to be descriptive and easy to >read. In fact, it's much easier and more readable than HTML. > >When you combine this GUI with REBOL networking, you get a >result that I enjoy calling the "World Wide Reb". Imagine a >network where fully interactive graphical applications download >into your system in just seconds. These REBOL "smart-client" >applications run on your local system, but access the network >whenever necessary to fetch other parts of the application or >communicate back to various servers or other clients. So, when >you click on a button, something happens... not just in a few >minutes or seconds, but immediately. > >That seems more like the kind of technology that's worthy of a >revolution. Don't get me wrong... The web is great for static, >linear, document types of content. That's a necessity that will >be around for a long time. But, I dream about the year 2005 and >believe that our network experience will be much different by >then. I'm convinced that once you have had the chance to try >REBOL/View, you'll agree with me. > >"When" you ask? I've got the first draft design complete, and >Jim has written the C-based graphical layering system. Over the >last week I've added the parse block capability necessary to >make dialects easier to write, and the first GUI dialect is now >up and drawing screens. (Nice looking screens they are too.) My >plan is to release a beta by mid-January to those of you who >want to test drive it. I will provide a number of interesting >example scripts that I guarantee will be immediately useful to >you. > >There is a bonus for those of you who like technical challenges. >REBOL/View will include its GUI dialect source code. That gives >you the power to enhance the GUI as well as create your own custom >GUI dialect, say for interactive TV, kiosks, games, or whatever. > >Yes, the year 2000 has finally arrived. It seems like a fitting >time for a revolution, don't you think? > >Have a happy and REBOLlious 2000, > >Carl Sassenrath >REBOL Creator & Founder >Chairman & CEO > >PS: I'd like to also thank all of you who have helped support >the REBOL cause and who have taken the time to share your >knowledge and insights of REBOL with others on this list. >Thank you so much. > >[Fe
[REBOL] Printing Re:
Eric, I have a little C program which sends command to DOS in windows 98. I can print from REBOL with this. If you have any interest let me know. It might work in other operating systems with minor modifications. Jerry
[REBOL] Basic string functions? Re:(2)
On 02-Jan-00, [EMAIL PROTECTED] wrote: > I can't remember if there's any others. Everyone is free to use the > above as they wish. > Oh, and if you change the "[string!]" to "[series!]", they'll work on > blocks as well as strings. :-D > I hope that helps! Thanks, Al. I'll pass on your functions. I also did a search for "/part" and found COPY uses it. -- ---===///||| Donald Dalley |||\\\===--- The World of AmiBroker Support http://webhome.idirect.com/~ddalley Member: ICOA and Team AMIGA
[REBOL] [REBOL] Re: Series essay Re:(6)
[REBOL] Re: Series essay Re:(6) Gabriele wrote: > From: [EMAIL PROTECTED] > Date: Wed, 29 Dec 1999 18:49:39 +0200 > Subject: [REBOL] Re: Series essay Re:(6) > X-SELMA: [REBOL] 65619 > Actually, every word parsed by LOAD automatically goes to > SYSTEM/WORDS. Try the following code on a fresh REBOL: > > print first system/words ; this is BIG! > to-word "undefined-word" > print first system/words > > You will see undefined-word at the end of the printed block. You are right, but the example is misleading because you don't use 'load and we could think that it is 'to-word that inserts the words in system/words. I'd rewrite your example this way: (open a new REBOL session) >> load "uNdefined-wOrd" == uNdefined-wOrd >> find first system/words 'uNdefined-wOrd == [uNdefined-wOrd] Or in this way: (open a new REBOL session) >> uNdefined-wOrd ** Script Error: uNdefined-wOrd has no value. ** Where: uNdefined-wOrd >> find first system/words 'uNdefined-wOrd == [uNdefined-wOrd] IIRC what we type on the console is passed to 'do which does a 'load Ciao, Daniele.
[REBOL] Basic string functions? Re:(2)
Hello, Eric: On 02-Jan-00, [EMAIL PROTECTED] wrote: > For getting the length of a string, look at this example > print length? example-string Right, I added the example of LENGTH without looking. Sorry. The neophyte asked only about LEFT/RIGHT. > REBOL does include some higher-level functions such as the parse > function. > The parse function has quite a few capabilities; check the REBOL > documentation for more detail. I looked up the PARSE func in the Dictionary and in detail, but it didn't have what my friend wanted (a LEFT(), RIGHT()). -- ---===///||| Donald Dalley |||\\\===--- The World of AmiBroker Support http://webhome.idirect.com/~ddalley Member: ICOA and Team AMIGA