Skip to content

readline in function call with space in prompt.

5 messages · Jeremie Juste, Jim Lemon, Rolf Turner +2 more

#
Hello,

I have noticed a behavior that I don't understand. When I call the
following function from the prompt.
test <- function(){
    a <- readline("selection: ")
    a
}
I can only type one character and the readline function exits before I can
press enter.

however

test1 <- function(){
    a <- readline("selection:")
    a
}
works as expected.
However calling directly readline with a space in the prompt does what I
would expect.
It is the expected behavior or am I missing something?

Best regards,
Jeremie
#
Hi Jeremie,
Try this:

test <- function() {
 a<-readline("selection: ")
 return(a)
}

If it starts working, it could be a difference in the way Windows R
handles text input. Both work okay for me on fedora linux.

Jim
On Tue, Feb 9, 2021 at 12:29 AM Jeremie Juste <jeremiejuste at gmail.com> wrote:
#
On Mon, 08 Feb 2021 14:28:33 +0100
Jeremie Juste <jeremiejuste at gmail.com> wrote:

            
Works fine for me, with or without the space in the prompt string.
There *must* be something flaky in your system, but I'm damned if I can
come up with any useful suggestions for tracking down just where that
flakiness lies.  Sorry.

Perhaps try re-installing R???

cheers,

Rolf Turner
#
> Hello,
    > I have noticed a behavior that I don't understand. When I call the
    > following function from the prompt.
    > test <- function(){
    > a <- readline("selection: ")
    > a
    > }

    >> test()
    >> selection: |
    > I can only type one character and the readline function exits before I can
    > press enter.

    > however

    > test1 <- function(){
    > a <- readline("selection:")
    > a
    > }
    >> test1()
    >> selection:|
    > works as expected.
    >> selection: abc[Ret]

    > However calling directly readline with a space in the prompt does what I
    > would expect.

    >> a <- readline("selection: ")
    >> selection: abc[Ret]
    >> a
    >> "abc"

    > It is the expected behavior or am I missing something?

    > Best regards,
    > Jeremie
    > -- 
    > Jeremie Juste
    >> R version 4.0.3 (2020-10-10)

Given that the above works fine in Linux (for Jim Lemon and Rolf Turner),

could you tell us *how* you use R?
In the (Windows) RGui  or from Rstudio  or  ESS   or yet another way?

Usually the UI (user interface) should not matter, but rather
the R version etc.
But the UI may be important for a function like readline()
which does UI ..

Martin
#
The function test as defined below by Jeremie works as I would have 
expected for me on Windows so I am unable to replicate the problem there.

R version 4.0.3 (2020-10-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19041)

Matrix products: default

locale:
[1] LC_COLLATE=English_United Kingdom.1252
[2] LC_CTYPE=English_United Kingdom.1252
[3] LC_MONETARY=English_United Kingdom.1252
[4] LC_NUMERIC=C
[5] LC_TIME=English_United Kingdom.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] compiler_4.0.3
On 09/02/2021 09:37, Martin Maechler wrote: