World: r3wp
[Rebol School] Rebol School
older newer | first last |
Steeve 14-Apr-2010 [3100] | i tried without 'clear just now, and as I thought, it's broken right now |
BrianH 14-Apr-2010 [3101x2] | I tried with clear just now, and it was broken. |
As demonstrated above. | |
Steeve 14-Apr-2010 [3103] | works well here, try a probe Are you trying with R2 ? It's not working with R3 remoldx: func [x /all /flat /only][ do probe head clear change change change next 'mold/? pick [[] all] not all pick [[] flat] not flat pick [[] only] not only reduce x ] probe remoldx/all [next 'a/a 2] probe remoldx/all/flat [next 'a/a 2] probe remoldx [next 'a/a 2] probe remoldx/only/all/flat [next 'a/a 2] >> mold/all [#[path![a a]2] 2] mold/all/flat [#[path![a a]2] 2] mold [a 2] mold/all/flat/only #[path![a a]2] 2 |
BrianH 14-Apr-2010 [3104x2] | Just traced through, and the changes are persistent but the clear cleans up any extras. So it works from the outside, though it's not recursion-safe in R2 or R3, and not task-safe in R3. |
The APPLY mezzanine uses a similar method (building a path), but creates a new path every time to be recursion-safe. | |
Steeve 14-Apr-2010 [3106x8] | Weird one :) remold: func [x /all /flat /only][ do head remove-each ref next copy 'mold/all/flat/only [not get in bind? 'x ref] reduce x ] |
Jeez , I don't need of the bind stuff... remoldx: func [x /all /flat /only][ do probe remove-each ref copy 'mold/all/flat/only [not get ref] reduce x ] | |
I like this one, short....... | |
oups, i let the probe, even shorter..... | |
I didn't know, that even the refinements was bound to the context of the main function. | |
I meant the words in the path | |
I meant the words in the path | |
Well, It's needed when the paths are calculated (forget what I said) | |
BrianH 14-Apr-2010 [3114] | Nice. In R3 you'll need a temporary variable for the copied path because REMOVE-EACH returns the count removed instead of the value. |
Gregg 14-Apr-2010 [3115] | Hah! I never thought of doing it that way. Very cool Steeve. |
Ladislav 15-Apr-2010 [3116] | Is there a faster way to replace the first two charcters in the given string by the fifth and sixth character of the same string? >> s: "123456789" == "123456789" >> change s copy/part at s 5 2 == "3456789" >> s == "563456789" |
Henrik 15-Apr-2010 [3117x2] | I suppose using pick and poke is not faster. |
or: s/1: s/5 s/2: s/6 | |
Maxim 15-Apr-2010 [3119] | this prevents the copy... change/part s at s 5 2 |
Ladislav 15-Apr-2010 [3120] | Max, but, unfortunately, it does not do what is needed |
Maxim 15-Apr-2010 [3121] | ah yes... I thought it applied the range on both sides, but it only does so in the source string... |
Graham 15-Apr-2010 [3122] | Perhaps 'move should have an option to copy .... |
Gregg 15-Apr-2010 [3123] | Nothing comes to mind Ladislav. You're going to have to copy in any case, correct? |
Ladislav 16-Apr-2010 [3124] | Well, I once thought, that there was a way how to circumvent the copy, but it looks to me now, that I was wrong |
BrianH 16-Apr-2010 [3125] | Henrik's method circumvents the extra copy :) |
Ladislav 16-Apr-2010 [3126] | yes, but it does not look to me like a viable way to replace a CHANGE X COPY/PART Y by a cycle of that kind, although I did not measure the speed difference, yet |
NickA 18-Apr-2010 [3127] | forall s [if find [1 2] index? s [s/1: pick head s ((index? s) + 4)]] :) |
Janko 18-Apr-2010 [3128] | hm .. anyone has any idea why rebpro on linux says "Set-Net not provided." I googled but couldn't find the point why is this. I tried do-ing prot.r and mezz.r |
Pekr 18-Apr-2010 [3129] | isn't rebpro just /base package? I mean - without the mezzanines? |
Janko 18-Apr-2010 [3130] | yes |
Pekr 18-Apr-2010 [3131] | you need to include mezz-* functions then |
Janko 18-Apr-2010 [3132x2] | but set-net is defined .. but messages this. And if I do %/usr/share/cheyenne/rebol-sdk-276/source/mezz.r do %/usr/share/cheyenne/rebol-sdk-276/source/prot.r |
it's the same | |
Pekr 18-Apr-2010 [3134] | It errors out after the start here .... |
Janko 18-Apr-2010 [3135x2] | do you think I need to do one by one (I tried some combinations I found on net but same behaviour) |
how do you mean? what error does it show? | |
Pekr 18-Apr-2010 [3137x2] | Script: "User Preferences" (6-Jan-2009/21:58:59+1:00) Set-Net not provided. ** Script Error: set-user-name has no value ** Near: set-user-name "Petr Krenzelok" if (not none? system/view) [ system/view/screen-face/options: none ] >> |
it apparently tries to do user.r, where I have set-net as a first function call. Other SDK kernels don't have such problems ... | |
Janko 18-Apr-2010 [3139x4] | aha.. you get set-net not provided also... maybe you call set-user-name also in user.r and that produces the error |
I will try do-ing all the mezz* files first and see if then it will work | |
what happens to you if you do mezz.r and prot.r before calling set-net? | |
hm.. what does #include in mezz.r do? is this like preprocessing directive and inefective at runtime? | |
Pekr 18-Apr-2010 [3143x2] | yes, inefective in runtime, but effective when you Encap your app, REBOL preprocessor (prebol) uses it ... |
http://www.rebol.com/docs/sdkug.html | |
Janko 18-Apr-2010 [3145x3] | I tried including many mezz-* also mezz-netset.r but same message |
I mean do-ing | |
I also do-ed all prot-* that were in prot.r with no effect? does this have something to do with licences?? Because word set-net is there but it just messages this. And set-net is in all free versions of rebol (and hopefully you can send email from them all along) so I am quite confused. | |
Maxim 18-Apr-2010 [3148] | are you doing set-net within user.r or in your script? |
Janko 18-Apr-2010 [3149] | in my script (or in command line) |
older newer | first last |