In my opinion there is nothing wrong with asking the user to enter strings
as strings. I am working on some functions for SAS users (with limited R/S
experience) who are used to working with the SAS macro language. I was
trying to keep things simple for them by not forcing the use of quotes (a
style they use with their SAS macros). Given your explanation I'll just
document this feature in the help pages and use my time more productively
else where.

Thanks,
Saghir



-----Original Message-----
From: Prof Brian Ripley [mailto:ripley@stats.ox.ac.uk] 
Sent: Tuesday, July 18, 2006 10:24
To: Bashir Saghir (Aztek Global)
Cc: 'r-help@R-project.org'
Subject: Re: [R] String manipulation and formatting


On Tue, 18 Jul 2006, Bashir Saghir (Aztek Global) wrote:

> Thanks to Richard, Gabor and Marc for some nice solutions to my request.
> 
> I have a new problem:
> 
>   > xify(30.10)
>   [1] "XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X"
>   > xify(30.11)
>   [1] "XXXXXXXXXXXXXXXXXXX.XXXXXXXXXXX"
> 
> The problem originates from:
> 
>   > as.numeric(unlist(strsplit(as.character(15.10), "\\.")))
>   [1] 15  1
>   > as.numeric(unlist(strsplit(as.character(15.11), "\\.")))
>   [1] 15 11
> 
> It seems to boils down to:
> 
>   > as.character(15.10)
>   [1] "15.1"
> 
> A simple solution is:
> 
>   > xify("15.10")
>   [1] "XXXXX.XXXXXXXXXX"
> 
> I was wondering if there is a simple way for xify to see the zero of the
10
> without having to force the user to add quotes around the format?

No, as the parser has converted '15.10' to a numeric constant.

What is the problem with asking users to enter strings as strings?

-- 
Brian D. Ripley,                  ripley@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595


--------------------------------------------------------- 
Legal Notice: This electronic mail and its attachments are i...{{dropped}}

