将对象与IRKernel集成

时间:2017-04-19 20:39:13

标签: r jupyter jupyter-irkernel

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

1 个答案:

答案 0 :(得分:1)

R中的主要类是S3 classes,这些是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中一样,您可以定义尽可能多的这些内容。有关示例,请参阅the repr code