作者suiming (台湾fighting!)
看板R_Language
标题[问题] 输入错误格式
时间Sat Oct 11 17:49:50 2014
a <- function(n)
{
tryCatch(function1(n),
error = function(e)
{
return(NaN)
}
)
}
function1 <- function(n)
{
n^2
}
> a(s)
[1] NaN
> a(1 1)
错误: 未预期的 数值常数 in "a(1 1"
> a(1_1)
错误: 未预期的 输入 in "a(1_"
请问如何让a(1 1)或a(1_1)能回传NaN?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.244.16.25
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/R_Language/M.1413020993.A.64E.html
1F:→ Wush978: 可以用tryCatch(a(1 1), ...) 10/11 18:21
2F:→ suiming: a()内的值非指定 因此不可能把所有可能放入tryCatch 10/11 22:50
3F:→ suiming: 用tryCatch(n)也不行... 10/11 23:33
4F:推 bxxl: 我觉得不可能,因为 1 1 or 1_1 不是合法的常数值, 一开始就 10/12 13:16
5F:→ bxxl: 会被挡掉. 不会跑进tryCatch内部 10/12 13:17
6F:→ suiming: syntax error的message可以改吗? 10/12 14:16
7F:→ bxxl: 可以用字串传进去,里面再eval(parse(text=n)))把字串转回值 10/12 15:14
8F:→ bxxl: 也就是在外面写 "1 1" 这样, 就不会被挡掉 10/12 15:14