World: r3wp
[Core] Discuss core issues
older newer | first last |
james_nak 29-Sep-2006 [5485] | I'm attempting to add a "repeat command" button to an app but I need to capture the what was sent to a function including the refinements. I'll put that capturing code inside the function called and store it in a global. The arguments, of course, are no problem to save. |
Gordon 29-Sep-2006 [5486] | When you import data using "data: read/binary {sometextfile}" you seem to get a string of hex values. Ex: probe 'data' of a file containg the word "Hello" results in #{48656C6C6F} but if you probe first data it returns 72. So when you probe the entire data stream it returns it in hexidecimal format but when you probe each character it returns a decimal value. At any rate how do you convert the characters in the variable 'data' back into ASCII values? IOW, how do you convert the decimal value of 72 back into an "H" or the #{48656C6C6F} back into "Hello"? |
PeterWood 29-Sep-2006 [5487] | >> a: 72 == 72 >> to char! a == #"H" >> b: #{48656C6C6F} == #{48656C6C6F} >> to string! b == "Hello" |
Maxim 29-Sep-2006 [5488] | sometimes REBOL is to simple. we forget that it can be as simple as that. ;-) |
Gabriele 30-Sep-2006 [5489] | graham: i think mine dies because of the wrong quoting, not empty fields, but i haven't tested it. i would actually be surprised to see a csv parser that handles quoting that way, because the only way to handle them is to ignore them. |
Anton 30-Sep-2006 [5490] | Gordon, use TO-STRING or AS-STRING. |
MikeL 30-Sep-2006 [5491] | Gordon, This may be too obvious to mention but if you know it is not a binary file then don't read it with the /binary refinement then you won't need to convert. |
Gordon 30-Sep-2006 [5492] | Hi guys; Thanks for the input. PeterWood & Anton: I could have sworn that I tried both to-char and to-string. It is the obvious answer, but I have been trying so many things in solving a parse problem that I missed it. Now I remember, I did try them but at the time I complicated the character testing by using quotes and brackets and braces, or in the case of the hex string - not using the #{}. Anyway, thanks for your time in answering. Gabriele: As I was waking up this morning, I was thinking about modifying your CVS parser to make it work with (improperly) quoted strings. That may be the simplier answer to my parsing problem. MikeL: I started by not using the /binary but then the 'read' converts the #{0D0A} sequences to just #{0A} so I was going to try using the /binary option to preserve the original #{0D0A} and got sidetracked into changing the rest of the file back into a string. Turns out that I will be going back to just using the 'read' without the /binary option and try modifying Gabriele's, CVS parser to handle improperly embedded quotes. |
Gabriele 30-Sep-2006 [5493x2] | gordon, can you just ignore the quotes? (if you know they are not really relevant in your file) |
(ie in my code allow " in the charset and remove the quoted field rule) | |
Rebolek 5-Oct-2006 [5495] | I'm not sure, if I like that: >> to integer! "" == 0 |
Ladislav 5-Oct-2006 [5496] | would you prefer an error to be caused? |
Henrik 5-Oct-2006 [5497] | maybe a list of how rebol converts empty values to other types would be in order |
Sunanda 5-Oct-2006 [5498] | 1.2.1 and early do give an error in this case. So, at the very least., its an undocumented change of behaviour. |
Henrik 5-Oct-2006 [5499] | RAMBO it? |
Rebolek 5-Oct-2006 [5500] | Ladislav I expected error! but I'm not sure about that |
Gabriele 5-Oct-2006 [5501x3] | >> to decimal! "" ** Script Error: Invalid argument: ** Near: to decimal! "" |
one of the two needs to be changed. :) | |
(i believe this is in rambo already, you should do a search first) | |
Anton 5-Oct-2006 [5504] | I think I prefer the error. |
Maxim 5-Oct-2006 [5505x2] | this is where as-integer and as-decimal make sense IMHO. return the most logical representation of supplied value, with a defined fall back when no sense can be made of input. |
but the rules must be clearly documented, in any case. | |
Rebolek 6-Oct-2006 [5507] | The bug is in RAMBO (RAMBO Ticket #3928) for 352 days. Seems hard to fix ;) |
Gabriele 6-Oct-2006 [5508] | if you guys think it should have a higher priority, i can raise it. |
Rebolek 6-Oct-2006 [5509] | It will be good to know what is typical longevity of bugs according to their priority. |
Henrik 6-Oct-2006 [5510] | Ladislav posted on 18. sep.: do you like this: any [1 true] ; == 1 ? I have a variant: any [false none] ; == none Would it make more sense to return FALSE? It seems to me that FALSE should have precedence over NONE. |
Gregg 6-Oct-2006 [5511] | False and none are treated the same in many cases, so I think it's fine the way it is; otherwise you have to consider all the other cases as well. |
Henrik 6-Oct-2006 [5512] | well: pick [do-this do-that] false ; == does 'do-that pick [do-this do-that] none ; == error This came from a function where I had a refinement: f: func [/act] [ pick [do-this do-that] act ] You can't do that, since /act is none. Sure you can then use EITHER, if do-this and do-that are not necessarily in one block, but you couldn't extend the existing code with: >> pick [do-this do-that] any [act false] ; == still none, which gives error So you have to use something less clean like: >> pick [do-this do-that] any [act 2] |
Rebolek 6-Oct-2006 [5513] | you can do >>pick [do-this do-that] found? any] |
Ladislav 6-Oct-2006 [5514] | I pulled out the question, sorry, it was a misread at my side |
Rebolek 6-Oct-2006 [5515] | argh, again: >>pick [do-this do-that] found? act |
Ladislav 6-Oct-2006 [5516] | I am content with it as it is |
Henrik 6-Oct-2006 [5517] | rebolek, thanks. as long as there is a way to discern between none and false with one function |
Ladislav 6-Oct-2006 [5518] | some interesting block "quirks": block1: #[block! [a b] -1] none block2: #[block! [a b] 4] none mold/all block1 ; == "#[block![a b]-1]" mold/all block2 ; == "#[block![a b]4]" index? block1 ; == -1 index? block2 ; == 3 length? block1 ; == 4 length? block2 ; == 0 |
Maxim 6-Oct-2006 [5519x2] | all and any are extremely capable as they are. and I don't see why they should change. all and any are NOT boolean operations, they are program flow just like if and either. |
'ANY on returns a non false or non none value. it does not return such a value from the block itself. if you specify only none and false value, it effectively assumes all is bad and returns none. 'ALL is the same, but will only return a value unless one value equates to false or none (in which case it considers the block a failure and returns its own value, not the value from the block itself). | |
Robert 9-Oct-2006 [5521] | Gab, the same applies for: This doesn't look very consisten to me: >> to-integer none == 0 >> to-decimal none ** Script Error: Invalid argument: none ** Where: to-decimal ** Near: to decimal! :value |
Gabriele 9-Oct-2006 [5522] | yes, i agree. i think other cases like that have been pointed out in the past. |
Ladislav 9-Oct-2006 [5523x2] | I don't know how INDEX?/XY works. Help, please. |
(is it meant for IMAGE! datatype?) | |
Rebolek 9-Oct-2006 [5525] | Ladislav: it seems so: >> n: make image! 100x100 == make image! [100x100 #{ 000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000... >> n: skip n 300 == make image! [100x100 #{ 000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000... >> index?/xy n == 0x3 |
Ladislav 9-Oct-2006 [5526] | thanks |
Rebolek 9-Oct-2006 [5527] | I'm curious, if there's also some function for setting position in image! - something like AT/xy |
Anton 9-Oct-2006 [5528] | There is: >> at logo.gif 12x10 == make image! [100x24 #{ 7C7C7CF5F5F5FEFEFEFEFEFEB5B5B5020202020202020202020202020202 020202020202BDBDBDFEFEFEFEFEFEF5F5F5A5A5A59B... |
Rebolek 9-Oct-2006 [5529] | Ah, thanks >> index?/xy at logo.gif 12x10 == 12x10 |
Louis 9-Oct-2006 [5530] | mail: read pop://user:[pass-:-mail-:-example-:-com] How should the above line be written when the user name is an email address? |
PeterWood 9-Oct-2006 [5531x2] | You should find the answer here: http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-topic-index.r?i=mail |
or here: http://www.rebol.org/cgi-bin/cgiwrap/rebol/ml-display-thread.r?m=rmlFSJQ | |
Louis 10-Oct-2006 [5533x2] | Thank you, Peter! |
Problem: no matter which email client I use, only 8 emails can be downloaded. On the 9th email the client locks up. What can I do about this? I am expecting some very important email. | |
older newer | first last |