Hi, Laurent,

Whenever possible, I suggest letting REBOL do the work for you...

See below.

Laurent Giroud wrote:
> 
> What I am doing is very simple, I get string data and store it
> this way :
> 
> trans: [
> ["09:33" "12.30" "1 270"]    ; [string! string! string!]
> ["09:34" "12.31" "4 450"]
> ...
> ]
> 
> and need to convert it (for faster manipulation later on) into :
> [
> [9:33 12.30 1270]   ; [time! decimal! integer!]
> [9:34 12.31 4450]
> ...
> ]
> 

The only tricky bit is the embedded space in the third element
of each triplet, but you already know how to deal with that!

    >> trans: [
    [    ["09:33" "12.30" "1 270"]    ; [string! string! string!]
    [    ["09:34" "12.31" "4 450"]]
    == [
        ["09:33" "12.30" "1 270"]
        ["09:34" "12.31" "4 450"]]

Using the first two triplets of your sample data...

    >> foreach row trans [
    [    foreach item row [
    [        foo: load trim/all copy item
    [        print [item foo type? foo]
    [        ]
    [    ]
    09:33 9:33 time
    12.30 12.3 decimal
    1 270 1270 integer
    09:34 9:34 time
    12.31 12.31 decimal
    4 450 4450 integer

Unless the input uses some strange representation (e.g., embedded
spaces which must be removed) the REBOL lexical scanner will
recognize the data for you.

-jn-

-- 
; Joel Neely                             joeldotneelyatfedexdotcom
REBOL [] do [ do func [s] [ foreach [a b] s [prin b] ] sort/skip
do function [s] [t] [ t: "" foreach [a b] s [repend t [b a]] t ] {
| e s m!zauafBpcvekexEohthjJakwLrngohOqrlryRnsctdtiub} 2 ]
-- 
To unsubscribe from this list, please send an email to
[EMAIL PROTECTED] with "unsubscribe" in the 
subject, without the quotes.

Reply via email to