how to call different input arguments for different functions in Shiny

Here is a reprex for one possible solution to this type of thing

library(shiny)
library(tidyverse)
ui <- fluidPage(
  
  sidebarLayout(sidebarPanel = 
                  div(
                    textInput("myx","type an x string","example"),
                    selectInput("funcselector", "select a func",
                                choices = c("funca","funcb")),
                    uiOutput("additionalInputs")
                  ),
                mainPanel = div(
                  verbatimTextOutput("resulttext")
                ))
)

server <- function(input, output, session) {
  
  myn <- reactiveVal(3)
  
  funca <- function(x){
    paste0("funca : ", x)
  }
  
  funcb <- function(x,n){
    paste0("funcb : ", rep(x,n))
  }
  
  output$additionalInputs <- renderUI({
    if(req(input$funcselector)=="funca"){}
    else if(req(input$funcselector)=="funcb"){
      return(numericInput("n","choose rep",value = myn(),min=1,max=5))
    }
    return(div())
  })
  
  observeEvent(input$n,
               myn(input$n))
  
  my_result <- reactive({
   switch (req(input$funcselector),
                        "funca" = funca(req(input$myx)),
                        "funcb" =  funcb(req(input$myx),req(input$n)))
  })
  output$resulttext <- renderPrint({
    req(my_result())
  })
}

shinyApp(ui, server)