3

类似于如何_repr_html_在 Python 中为对象编写 repr,我希望能够在 R 中装饰对象以使用 IRKernel 进行检查(同时不干扰库的常规 R 使用)。我应该如何编写 R 以使其对 Jupyter 用户更好?

4

1 回答 1

2

R 中的主要类是S3 类,这些是 IRKernel 的repr库所知道的。

S3 类的方法更像是泛型函数。repr声明了许多通用函数,例如repr_html. 如果您定义了一个名为 的类frob,您可以提供一个名为的函数,该函数repr_html.frob返回 HTML 来表示您的对象。据我所知,方法查找的所有魔力都基于名称,因此您可以repr_html.frob正常定义该函数 - 它位于哪个包中并不重要,只要用户在内核尝试之前加载包即可显示你的对象。

repr 声明的通用函数是:

  • repr_text
  • repr_html
  • repr_markdown
  • repr_latex
  • repr_json
  • repr_javascript
  • repr_pdf
  • repr_png
  • repr_jpg
  • repr_svg

与在 Python 中一样,您可以根据需要定义尽可能多或尽可能少的这些。有关一些示例,请参见repr 代码

于 2017-04-20T10:52:48.433 回答