R:格式化`warning()`的输出,以获得多行以上的选项列表

cbo*_*tig 2 error-handling r

我正在为无法找到与查询匹配的R函数编写错误处理步骤,因此向用户显示选项列表.我在列表中输出了潜在的匹配项,我希望将此格式化为编号列表:

'multiple matches for query "Tom", select which one you want:'
 [1] Tom Bombadil
 [2] Tom Overhill
 [3] Justanother Tom
Run Code Online (Sandbox Code Playgroud)

不幸的是,警告和消息似乎喜欢删除换行符.例如,如果我有:

opts <- list("Tom Bombadil", "Tom Overhill", "Justanother Tom")
Run Code Online (Sandbox Code Playgroud)

命令

warning(opts)
Run Code Online (Sandbox Code Playgroud)

打印:

Warning message:
Tom BombadilTom OverhillJustanother Tom 
Run Code Online (Sandbox Code Playgroud)

我如何从上面得到我想要的格式(理想情况下是数字,所以我可以从中获取数字选择readLines)

谢谢!

Jul*_*ora 5

那这个呢:

select.list(c("Tom Bombadil", "Tom Overhill", "Justanother Tom"),
              title = "Multiple matches for query \"Tom\", 
                       select which one you want:")
Multiple matches for query "Tom", select which one you want: 

1: Tom Bombadil
2: Tom Overhill
3: Justanother Tom

Selection: 2
[1] "Tom Overhill"
Run Code Online (Sandbox Code Playgroud)