R 如何使用标记中的循环在一个块中呈现多个'quick'对象?

R 如何使用标记中的循环在一个块中呈现多个'quick'对象?,r,markdown,learnr,R,Markdown,Learnr,我想在一个块中使用循环渲染库learnr的函数quick的多个对象。R正在编译html标记文件,但呈现不正确。它是在呈现文本,而不是一个应该是的问题 这是我的可复制代码,当前未正确呈现: --- title: "" output: learnr::tutorial runtime: shiny_prerendered description: "" --- ```{r setup, include=FALSE} knitr::opts_chunk$set(

我想在一个块中使用循环渲染库
learnr
的函数
quick
的多个对象。
R
正在编译
html标记
文件,但呈现不正确。它是在呈现文本,而不是一个应该是的问题

这是我的可复制代码,当前未正确呈现:

---
title: ""
output: learnr::tutorial
runtime: shiny_prerendered
description: ""
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = FALSE)
library(learnr)
```
    
    ```{r, q-part2, echo=FALSE, results='asis'}
    
    words_lst <- structure(list(eng = c("bathroom", "bedroom", "dining room", 
    "door", "house", "kitchen", "garden", "neighbor", "office", "attic", 
    "living room"), nl = c("de badkamer", "de slaapkamer", "de eetkamer", 
    "de deur", "het huis", "de keuken", "de tuin", "de buurman", 
    "het kantoor", "de zolder", "de woonkamer")), row.names = c(NA, 
    -11L), class = "data.frame")
    
    
    for(i in seq_along(words_lst)){
    
     quiz(caption = paste0(i),
           question_text(paste0("Translate: ", words_lst[i,1L]),
           answer("C0rrect ", message = "Make sure you do not have a trailing space"),
           answer(trimws(words_lst[i, 2L]), correct = TRUE),
           incorrect = paste0("Gebruik: ", sub("\\s.*", "", words_lst[i,2L])),
           allow_retry = TRUE,
           trim = TRUE,
           placeholder = "schrijf het juist antwoord"
    ))
    
    }
    
    ```
---
标题:“
输出:learnr::tutorial
运行时:预渲染
说明:“”
---
```{r设置,include=FALSE}
knitr::opts_chunk$set(echo=FALSE)
图书馆(learnr)
```
```{r,q-part2,echo=FALSE,results='asis'}

words_lst我找到了一个解决方案,结果是在一个块中不可能呈现两个或多个函数
quick

我的解决方案是在一个循环中生成多个
问题\文本
,将它们存储在
列表中
,然后使用
eval
调用所有问题作为
测验的参数。这就是解决方案:

    ```{r, q-part1, echo=FALSE, message=FALSE, results="asis"}
    
  words_lst <- structure(list(eng = c("bathroom", "bedroom", "dining room", 
    "door", "house", "kitchen", "garden", "neighbor", "office", "attic", 
    "living room"), nl = c("de badkamer", "de slaapkamer", "de eetkamer", 
    "de deur", "het huis", "de keuken", "de tuin", "de buurman", 
    "het kantoor", "de zolder", "de woonkamer")), row.names = c(NA, 
    -11L), class = "data.frame")


for (j in 1:nrow(words_lst)) {   list_w[[j]] <- question_text(
        paste0("Translate: ", words_lst[j, 1L]),
        answer("C0rrect ", message = "Make sure you do not have a trailing space"),
        answer(trimws(words_lst[j, 2L]), correct = TRUE),
        incorrect = paste0("Gebruik: ", sub("\\s.*", "", words_lst[j, 2L])),
        allow_retry = TRUE,
        trim = TRUE,
        placeholder = "schrijf het juist antwoord"   ) }
    
    
    eval(parse(text = paste0(   "quiz(", paste0("list_w[[",  1:nrow(words_lst), "]]", collapse = ', '), ")" )))
    
    ```
`{r,q-part1,echo=FALSE,message=FALSE,results=“asis”}

words\u lst我认为您必须删除
results='asis'
。但我不确定这个循环是否有效。我尝试过这个,但没有成功。