World: r3wp
[Core] Discuss core issues
older newer | first last |
Oldes 23-Feb-2007 [7304x2] | And I must say it again... I use ATTEMPT only in cases where I do not expect error. Many people use it just a shortcut for error? try which I don't lik. As I understand attempt as higher function for reporting not wanted errors (for example on server). If you use it in cases, where like attempt [to-integer "a"] it's not good as it would report many errors (in some bigger context) |
And Henrik, I don't think Carl will add it into Rebol as it's too easy to implement yourself. | |
Henrik 23-Feb-2007 [7306] | Oldes, probably not, though this is just one case. A more complex datatype like date! requires more complex checking schemes. |
Oldes 23-Feb-2007 [7307] | And I would not use it, as I usually use something like this: if error? try [a: to integer! a][a: 0] |
Henrik 23-Feb-2007 [7308x2] | And date! does not behave like integer!: >> a: 1 == 1 >> b: "2" == "2" >> c: "u" == "u" >> to-date reduce [a b c] ** Script Error: Invalid argument: 2 ** Where: to-date ** Near: to date! :value |
This is probably a dumb case since endusers don't determine the types themselves. | |
Oldes 23-Feb-2007 [7310] | and if I would use it, I would probably use it like: to-date?: func[a][ not error? try [a: to date! a]] |
CharlesS 23-Feb-2007 [7311] | can the to function translate to user defined structures / objects ? if so how, is there a special method name in the object you want to convert to ? |
Sunanda 23-Feb-2007 [7312] | If I understand your question, Charles, you may be looking for construct/with......It's a way of using an existing object as a template for a new one, eg: my-obj1: make object! [a: 99 b: 2 c: "string"] my-obj2: construct/with [b: 9999] my-obj |
Henrik 24-Feb-2007 [7313] | hmm... is it possible to find () elements in a block? they don't have a specific datatype. find [a b c (code) d] ?? ; what type? |
Sunanda 24-Feb-2007 [7314] | Is this a start? find [a b c (code) d] paren! |
Henrik 24-Feb-2007 [7315x2] | ah, precisely, thanks. didn't know there was a type for them |
because: type? () == unset! | |
Sunanda 24-Feb-2007 [7317] | And, perhaps worse: type? (1) == integer! which is not what you might expect..... You have to do this to get type? to work: type? first [(1)] == paren! |
JaimeVargas 24-Feb-2007 [7318x2] | The parens! triger evaluation so type? (1) = type? 1 ;== integer! |
But parens inside blocks are not evaluated. | |
Robert 25-Feb-2007 [7320x2] | Is there a way to find out if a loaded file is encrypted with CLOAK? |
Or do I have to read it and try to DECLOAK it? | |
Sunanda 25-Feb-2007 [7322] | As far as I know, an encloaked string is just a jumbled up, binary version of the original string: it carries no prefix signature so you can't tell at a glance it is an encloaked string rather than another bit of binary. So, yes, as far as I knoww, you'll have to read and attempt decloaking. Or, if you have control over the writing, ensure some sort of identifiable prefix is added) |
Henrik 25-Feb-2007 [7323] | >> do to-path reduce ['now 'none] ** Script Error: now/none has no refinement called none ** Near: do to-path reduce ['now 'none] >> do to-path reduce ['now none] == 25-Feb-2007/20:40:18+1:00 >> do probe to-path reduce ['now none] now/none == 25-Feb-2007/20:40:28+1:00 >> now/none ** Script Error: now has no refinement called none ** Near: now/none I guess the difference is between 'none and none!, but I thought it was curious that the none! is accepted as a refinement. |
Anton 25-Feb-2007 [7324x2] | >> now/#[none!] == 26-Feb-2007/14:28:03+11:00 |
Actually it looks like you can put any issue! >> now/#hello == 26-Feb-2007/14:28:43+11:00 | |
Gabriele 26-Feb-2007 [7326] | functions just ignore anything that is not a word in the path. |
Robert 26-Feb-2007 [7327] | DECLOAK: I have the problem that a random char is added as the first char to a decloaked string. Is this a known problem? |
Anton 26-Feb-2007 [7328x3] | Not to me it isn't. What version of rebol ? |
It's not in Rambo. | |
encloak / decloak seem pretty stable to me. Be aware that these functions modify the string you pass it. | |
Robert 26-Feb-2007 [7331] | I only have the problem when not using read/binary but just have used WRITE and READ... strange. |
Oldes 26-Feb-2007 [7332] | Just don't use just WRITE with encloked data as these data are binary data. |
Gregg 26-Feb-2007 [7333] | I've never had a problem with encloak/decloak, but I would also avoid string ops that might translate the binary data somehow. |
Anton 27-Feb-2007 [7334] | Yes, READ and WRITE are in text mode and translate line terminators, so LF can become CRLF and vice versa. |
Oldes 27-Feb-2007 [7335] | Is there any better way how to convert issue! to binary! than this silly one? issue-to-binary: func[clr ][load head insert tail insert next mold clr "{" "}"] |
Maxim 27-Feb-2007 [7336] | and what do you want... the string or the value? |
Oldes 27-Feb-2007 [7337] | I want binary value |
Maxim 27-Feb-2007 [7338x2] | so four byte issue gives 32 bite value... |
or is initial issue a decimal type integer? | |
Oldes 27-Feb-2007 [7340x3] | >> issue-to-binary #ff0000 == #{FF0000} |
at this moment as-binary is working like: >> as-binary #ff0000 == #{666630303030} | |
which i really don't like | |
Maxim 27-Feb-2007 [7343x3] | I know... both are valid . |
same for tuples, etc. | |
for going to-from hex... I don't have a solution. | |
Oldes 27-Feb-2007 [7346x2] | it's stupid behaviuor. I really don't know what it can be good for, as I can always do: >> as-binary next mold #ff0000 == #{666630303030} |
ech, I know why it's molded as string - issue can hold any value... :( so my Rambo wish is pretty stupid now:-) | |
Ladislav 27-Feb-2007 [7348x2] | issue-to-binary: func[clr] [debase/base as-string clr 16] |
issue-to-binary: func[clr] [debase/base clr 16] | |
Oldes 27-Feb-2007 [7350] | YES :-) that's much more better, thanks. |
Gabriele 28-Feb-2007 [7351] | oldes, do you want me to delete that ticket or should i keep it? |
Oldes 28-Feb-2007 [7352x2] | yes please |
delete it as it's a nonsense | |
older newer | first last |