我可以用htmltools
包函数在R中创建用属性 Package 的HTML代码。这允许html从控制台(浏览器窗口自动启动)以及在R Markdown和夸托文档中呈现。但是如果没有显式的print()
,我无法使其工作。如何使其与隐式的print
一起工作?这里是一个最小的工作示例。
require(htmltools)
x <- readLines(textConnection('
<table>
<tr>
<th>Company</th>
<th>Contact</th>
<th>Country</th>
</tr>
<tr>
<td>Alfreds Futterkiste</td>
<td>Maria Anders</td>
<td>Germany</td>
</tr>
<tr>
<td>Centro comercial Moctezuma</td>
<td>Francisco Chang</td>
<td>Mexico</td>
</tr>
</table>'))
print.ctest <- function(x) browsable(HTML(x))
class(x) <- 'ctest'
print(x) # opens browser
x # does nothing
1条答案
按热度按时间kpbwa7wx1#
如果一个对象被它的名字调用,它会使用相应类的默认打印方法。将x转换为HTML,然后调用x,它会隐式调用打印并启动正确的设备(浏览器)