У меня есть 2 функции, определенные друг за другом. Когда я называю их блоком, выполняется 1-я функция (станет ясно, когда вы увидите ниже, и я понимаю, что происходит здесь и почему это происходит), а второй вызов функции игнорируется. Можно ли это исправить?вызов функции и выполнение в R
Извините, если это вопрос повторения. Кажется, не может найти решение для этого.
mini_val<-function()
{
m <- readline("Minimum: ")
if(!grepl("^[0-9]+$",m))
{
return(mini_val())
}
return(as.integer(m))
}
mini<-mini_val()
max_val<-function()
{
m <- readline("Maximum: ")
ifelse(!grepl("^[0-9]+$",m),return(max_val()),ifelse(m>=mini,as.integer(m),return(max_val())))
return(as.integer(m))
}
maxi<-max_val()
когда я запускаю весь блок, то происходит следующее:
mini<-mini_val()
Minimum number of segments (between 3 and 20) or Hit ESC to exit:
Minimum number of segments (between 3 and 20) or Hit ESC to exit: max_val<-function()
Minimum number of segments (between 3 and 20) or Hit ESC to exit: {
Minimum number of segments (between 3 and 20) or Hit ESC to exit: m <- readline("Maximum number of segments (between 3 and 20) or Hit ESC to exit: ")
Minimum number of segments (between 3 and 20) or Hit ESC to exit: ifelse(!grepl("^[0-9]+$",m),return(max_val()),ifelse(m>=mini,as.integer(m),return(max_val())))
Minimum number of segments (between 3 and 20) or Hit ESC to exit: return(as.integer(m))
Minimum number of segments (between 3 and 20) or Hit ESC to exit: }
Minimum number of segments (between 3 and 20) or Hit ESC to exit:
Minimum number of segments (between 3 and 20) or Hit ESC to exit: maxi<-max_val()
Minimum number of segments (between 3 and 20) or Hit ESC to exit: 1
>
Любая идея, как я могу обойти эту проблему?
Спасибо !, LR.
Это будет зависеть от того, что язык это написано в –
Пожалуйста, добавьте тег языка. –