World: r3wp
[Core] Discuss core issues
older newer | first last |
Terry 27-Jan-2005 [381x3] | Looking at 'ALTER.. shouldn't there be a similar word that "If a value is not found in a series, append it; otherwise, DO NOTHING? |
In other words.. i want to check the series to see if the word exists.. if not, add it.. | |
Seems this should be an argument for 'ALTER addWord: func [ser wrd][if not find ser wrd [append ser wrd]] | |
Tomc 27-Jan-2005 [384x3] | unioning your test word with your block of words may work |
color: [ red blue green] == [red blue green] | |
>> color: union color [red] == [red blue green] >> color: union color [yellow] == [red blue green yellow] >> | |
Robert 28-Jan-2005 [387x2] | stack: Gregg, yes these are true words about using the same name. But let's face reality, those data-structure stuff is quite old and is learned at university. Most programmers are used to them. And from the name of the functions I can implie to the datastructure used. Someone not common with Rebol might not "see" that this simulates a stack. |
You need to know the common sense data-structures anyway. But to be honest, the code is quite dated. I use it in MDP to handle the parsing state. | |
Graham 28-Jan-2005 [389] | anyone know what causes an error ** user error: system error: tcp |
Geomol 28-Jan-2005 [390] | make error! "system error: tcp" maybe? |
Graham 28-Jan-2005 [391] | no .. not in this instance. |
Gregg 28-Jan-2005 [392] | So far I've push'ed and pop'ed stacks (blocks) at the bottom, because I presure, it's faster that from the top (because of memory allocation) -- Yes. For block! values that is very true. For list! values it isn't. For blocks it's a zillion times faster...well, for small blocks it's faster and for big ones it's a *lot* faster. If you're making a million changes to a 10,000 item block, it's a big difference. |
Guest 30-Jan-2005 [393x2] | Q: how can I determine the pointer for a struct! (or variable) for passing this pointer to a external dll ? |
or better explained, howto create a pointer. is there something like to-pointer ? | |
Gabriele 31-Jan-2005 [395] | if you pass the struct, a pointer is automatically passed. anyway, Ladislav has functions to get pointers to memory. I don't have the link at hand though... |
eFishAnt 31-Jan-2005 [396x3] | you need a pointer to Ladislav's URL struct! ;-) |
took a while to find this ... http://www.fm.vslib.cz/~ladislav/rebol/ | |
not sure that Gab's reference is there, but tons of goodies there...wow! | |
Gabriele 31-Jan-2005 [399] | http://www.compkarori.com/vanilla/display/peek_and_poke.r |
Graham 31-Jan-2005 [400] | anyone recall offhand what the function is that decodes url encoded text back to normal? |
Tomc 31-Jan-2005 [401] | decode-url |
Graham 31-Jan-2005 [402x3] | that takes a url |
I'm just looking for the function that decodes the text and returns text, and not an object | |
it's likely to be called by decode-url | |
Tomc 31-Jan-2005 [405] | there is a parse-url but it is burried in an objecr and not public/global |
Graham 31-Jan-2005 [406] | yeah, it's in there somewhere |
Tomc 31-Jan-2005 [407] | see ?? decode-url |
Chris 31-Jan-2005 [408] | dehex? (preceded by replace/all text "+" " ") |
Graham 31-Jan-2005 [409] | dehex looks good :) |
Geomol 31-Jan-2005 [410] | Remember & < and > if you have any of those in the text. Shall be replaced by &, < and >. |
Tomc 31-Jan-2005 [411x2] | graham there is a web-to-plain.r at http://www.cs.uoregon.edu/~tomc/ that may work for you |
if you have more char enties than just hex encoding | |
eFishAnt 31-Jan-2005 [413] | there were some note on it in Core release notes IIRC, de-hex and decode-url |
Graham 31-Jan-2005 [414x2] | the microwebserver at http://www.rebol.org/cgi-bin/cgiwrap/rebol/view-script.r?script=webserver.r doesn't decode spaces etc so comes a cropper if the file on disk has a space in it. |
The authors, not mentioned, were "Tyler Booth" "Jeff Kreis" "Bohdan Lechnowsky" | |
eFishAnt 31-Jan-2005 [416] | http://www.rebol.com/docs/changes.htmlnot so much on decode-url, but decode-cgi yes. |
Guest 8-Feb-2005 [417] | how to: create a array of objects ? (like arrays of udt's) |
Sunanda 8-Feb-2005 [418] | blk: copy [] loop 10 [append blk make object! [a: 1]] |
Guest 8-Feb-2005 [419x2] | wow, fast reply. thx sunanda. last question: what syntax I need to access e.g. object array no. 5 or 8 to write values like blk/a: recordset ? |
I have a object with - name, street, and country and a database with 50 records. I would like to store the records into a dynamic object array for later reading... | |
Anton 8-Feb-2005 [421x3] | equivalent to above, but a bit faster in execution (maybe you have a large block): |
blk: make block! 10 loop 10 [insert tail blk make object! [name: copy "<name>"]] ; COPY so all objects don't share the same string | |
objects: copy [] person: context [name: copy "<name>" address: copy "<address>"] get-record-item: func [n field][copy ""] ; <--- you have to make this function look into the database repeat n 50 [append objects make person [name: get-record-item n 'name address: get-record-item n 'address]] | |
Guest 8-Feb-2005 [424x2] | thank you anton. this is the code I was looking for :-)) |
oups, how do I read (after appending) record no. 45 ? person/name (45) ? | |
Anton 8-Feb-2005 [426x3] | objects/45/name |
record-num: 45 objects/:record-num/name ;== "aristotle" | |
That is putting a GET-WORD! in the path. (eg. :record-num ) | |
Guest 8-Feb-2005 [429] | yes, that's it ! running smoth and fast... thank you very much anton. |
Anton 8-Feb-2005 [430] | no problem at all. |
older newer | first last |