World: r3wp
[I'm new] Ask any question, and a helpful person will try to answer.
older newer | first last |
mhinson 18-May-2009 [2730] | I have found an example for R3 here (about the only one I could spot so far) http://rebol.net/wiki/Script_Writing_With_The_Visual_Interface_Dialect It looks quite nice with rounded corners to the buttons too. The example crashes when you try to exit so I suppose there is lots to do before this is ready for general use. I know how long developmnet cycles can take so I won't be holding my breath :-) I suspect the R2 functions built in will do more than enough for what I want & that I just need stick with one thing till I can understand it enough to know what it will do & what its limitations are. I showed my parsing project ot a work coleague & he suggested some additional data that it should colect, he was very impressed when I implimented his suggestion & tested it all in under 3 minutes. |
Janko 19-May-2009 [2731] | I am reading about these mezzaines 3 times per day here and I still don't have any clue what they are... I googled but found nothing either.. .so what are mezzaines? |
Graham 19-May-2009 [2732] | mezzanines are functions written in Rebol as opposed to C |
Izkata 19-May-2009 [2733] | In the Rebol console, look at the help for, for example, Foreach and Forall. Under the description of Foreach, it says "FOREACH is a native value" - this means it is implemented directly in C in the interpreter. FORALL says "FORALL is a function value" - it is written using other Rebol commands, and you can see the source of it using "source forall". Mezzanine refers to this second type. |
Graham 19-May-2009 [2734] | mezzanines vs native functions |
Steeve 19-May-2009 [2735x2] | does that mean something in English ?, because in French it does |
hmm... same meaning | |
Janko 19-May-2009 [2737] | then all functions that I make when I program REBOL in REBOL are mezzanines? I thought there is something special about them |
Steeve 19-May-2009 [2738x4] | they just must have an abstract polymorphic usage |
and staying small enough, i think | |
well, the exact definition is, all functions in Rebol which are not natives are mezzanines :) | |
But it''s Carl who makes the choice. | |
Janko 19-May-2009 [2742] | aha :) so it's more analog thing |
Steeve 19-May-2009 [2743] | Final definition: All functions in Rebol that Carl don't want code as natives are called "mezzanines" |
Janko 19-May-2009 [2744] | :)) |
Steeve 19-May-2009 [2745] | Perhaps a new group "Bash Carl" should be more convenient |
Janko 19-May-2009 [2746] | O don't want to be in that group :) |
Maxim 19-May-2009 [2747] | all functions written in rebol, *shipped with rebol* are mezzanines. |
Henrik 20-May-2009 [2748] | Janko: http://hmkdesign.dk/rebol/files/385cc7420409fa08f768a537a52ce4d8-76.html |
Janko 20-May-2009 [2749] | thanks guys, very nice article Henrik! |
Oldes 20-May-2009 [2750] | very ugly link:] |
Henrik 20-May-2009 [2751] | That's RapidWeaver. :-) |
Geomol 20-May-2009 [2752] | Good short article, Henrik. The link to me is outdated. You can use http://john.niclasen.name/, if it's needed. |
BrianH 20-May-2009 [2753x2] | Nice article. The Google ads are funny too :) |
You missed op! functions, but that is probably OK. | |
mhinson 21-May-2009 [2755] | Hi, I am puzzling over this and would really appreciate some pointers please. How do I get from this: d1: "random1" d2: "data2" ;;to this? b1: [random1 ["data2"]] so I can reference the data2 by its association with random1 e.g. b1/random1/1 |
Henrik 21-May-2009 [2756] | well: b1: reduce [to-word d1 reduce [d2]] |
mhinson 21-May-2009 [2757x3] | ah, nice. Thanks. I was looking here http://www.rebol.com/docs/core23/rebolcore-16.html#section-3.10 which for once looks like it was the right area. Thank you. |
I was hoping to get something like this working with the data structure Henric helped me with above. foreach bb b1 [ print b1/:bb/1] but the foreach itterates all the vlaues, not just the words. I have been thinking about this for a week or so, but dont really know how to get any further with it. I suspect that if I had the right structure I could use it to store my data, then add additional details when I find some more, and finaly export the whole lot, grouped together by the key value (that I will only know when the script is running). Im aproaching this in the right sort of way? Or is there a recognised way to create these sort of structures please? | |
Sorry about my typing Henrik. I know how to spell your name really. | |
BrianH 21-May-2009 [2760] | foreach [key val] b1 [print val] |
mhinson 21-May-2009 [2761] | That is just what I wanted, thanks Brian. Is this a recognised way to deal with data that is presented in a different order to the output requirement? |
BrianH 21-May-2009 [2762x2] | No, it's just a way to treat a block as fixed records, this time of two values each. |
If you want variable records you either put the data in an inner block (as you have), or use a distinct datatype for the keys ans search for values of that datatype to find the next key. | |
mhinson 21-May-2009 [2764] | I think I need to learn more before I can use this to the effect I need. I was expecting your construct to all me to do this: foreach [key val] b1 [print b1/:val/1] |
BrianH 21-May-2009 [2765] | I don't get what you want to do. Perhaps some sample data and the desired output? |
mhinson 21-May-2009 [2766] | probe b1 [random3 ["data4"] random1 ["data2"]] probe b1/random1/1 data2 but as I dont know what random1 is I want to enumerate the values from the data structure. |
BrianH 21-May-2009 [2767] | Are you trying to get a specific data* or to enumerate all of random*? |
mhinson 21-May-2009 [2768] | Ah I think I am being a numpty. your structure already returns the data, but I need to be able to print the keys with the associated data. |
BrianH 21-May-2009 [2769x2] | foreach [r d] b1 [print [r d]] |
You can do some formatting in the print statement, but it is that easy. | |
mhinson 21-May-2009 [2771] | I will have different numbers of data elements in different keys, so I also need to keep track of which data is stored where, perhaps I need an array as the data element. |
BrianH 21-May-2009 [2772x3] | Your data already has an array as the data element, except we call them blocks. |
b1: [random3 ["data1" "data2"] random1 ["data3"]] | |
foreach [r d] b1 [print [r mold d]] | |
mhinson 21-May-2009 [2775] | I need to know what type of data I have put in data3. It might be the same type as in data1 or data2, or something different again. any one of maybe 10 types. The actual data will be IP addresses & interface details & remote connection information. |
BrianH 21-May-2009 [2776x3] | You can specify ip addresses directly, as data of the tuple! type. Or you could have the data be doubles of strings and type flags. |
Or if you would have at most one of each type, you could name the potential fields and have the data be name value pairs. | |
*a block of* name value pairs. | |
mhinson 21-May-2009 [2779] | most of my different types will be strings I am expecting. Sometimes there will be up to about 4 of the same type (addresses & secondary addresses mostly) |
older newer | first last |