1

我在 Windows 上将 IRuby 内核与 Jupyter Notebooks 一起使用。

使用 IRuby 表显示功能时出现意外行为。

以下代码应该显示创建的数组的表:

arr = "123456789".chars().each_slice(3).to_a()
IRuby.display IRuby.table(arr)

它在输入框下方按预期显示表格。问题是它还在输出框中显示了生成的 HTML。

["display_data", "<IDS|MSG>", "19980fc78ddf9fb5a1bc54ee7697822b5012afe6056940c6f481f9c2dfe81b2c", "{\"msg_type\":\"display_data\",\"msg_id\":\"a3572ae1-7019-4dba-85ce-f300767af580\",\"username\":\"kernel\",\"session\":\"1aea1761-976a-46a6-964c-85cada3adcc5\",\"version\":\"5.0\"}", "{\"msg_id\":\"09be08ecee814a2cab83f072d39b0cf5\",\"username\":\"username\",\"session\":\"741cfea13df54fd48739951832ccc2bf\",\"msg_type\":\"execute_request\",\"version\":\"5.2\",\"date\":\"2020-02-12T08:02:31.771365Z\"}", "{}", "{\"data\":{\"text/plain\":\"\\\"<table><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>4</td><td>5</td><td>6</td></tr><tr><td>7</td><td>8</td><td>9</td></tr></table>\\\"\",\"text/html\":\"<table><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>4</td><td>5</td><td>6</td></tr><tr><td>7</td><td>8</td><td>9</td></tr></table>\"},\"metadata\":{}}"]

当我在本地运行示例代码时也会发生这种情况。

ruby 部分是通过https://rubyinstaller.org/和 Jupyter 通过 Anaconda 安装的。

4

1 回答 1

2

通过添加nil到单元格的末尾作为单元格返回值,可以抑制 HTML 输出:

arr = "123456789".chars.each_slice(3).to_a
IRuby.display IRuby.table(arr)
nil

不完美,但它是一些东西。

于 2020-02-13T06:31:19.953 回答