You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R/exams数值题型设置大extol容差触发报错问题咨询

背景

R/exams是一款实用的学生试卷生成工具。

问题

为数值题型设置较大容差(extol)时,触发以下报错:

Error in if (!is.null(extol) && any(extol < 0)) { : 
  missing value where TRUE/FALSE needed

这是软件bug还是操作疏漏?

最小复现示例

触发报错的最简习题代码如下:

Question
========
Some text

Solution
========
Some solution

```{r}
sol <- 1e4
sol_tol <- 1e4
Meta-information

exname: test-debug
extype: num
exsolution: r fmt(sol, 3)
extol: r sol_tol

调用以下代码渲染习题:
```r
exams2html(file = "test-debug.Rmd",
           edir = "exercises",
           dir = "./")
系统信息

exams 2.4-0


问题分析与解答

这是exams 2.4-0版本的软件bug,并非操作疏漏。

报错根源在于:当extol的数值与exsolution的数值相等时,软件内部的容差处理逻辑出现异常,导致extol被错误解析为NA值。后续检查extol < 0时,NA值无法生成有效的TRUE/FALSE判断,从而触发该报错。

临时解决办法

  • 调整extol的值,使其略小于exsolution的数值(例如将sol_tol <- 1e4改为sol_tol <- 9999.999);
  • 升级至exams的最新版本(该bug在后续版本中已被修复)。

内容的提问来源于stack exchange,提问作者Sebastian Sauer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 17:12:24