相关疑难解决方法(0)

更改输出打印到控制台的方式

当我直接将某些内容打印到控制台(键入一些变量名称,例如x,而不是使用打印功能print(x))时,我希望它的打印方式与正常打印方式不同.我的想法是打印是通过某些功能完成的.如果是这种情况,我所要做的就是用我自己的函数替换该函数.但是,我无法弄清楚打印的内部功能是什么.

这是我到目前为止所尝试的内容.

.real_cat = cat
cat = function(x) .real_cat("*** cat ***", x, "\n")

cat(2345)
2345    # no
Run Code Online (Sandbox Code Playgroud)

打印到控制台不是通过cat.怎么样print

.real_print = print
print = function(x) .real_cat("*** print ***", x, "\n")
print(2345)
2345    # no
"hello" # no
I(2345) # yes
Run Code Online (Sandbox Code Playgroud)

有些类,比如AsIs,打印到控制台print,但其他类,如numericcharacter不是.:-(

c("print.numeric", "print.character", "print.AsIs", "print.default") %in% methods("print")
# FALSE FALSE  TRUE  TRUE
Run Code Online (Sandbox Code Playgroud)

结果print甚至没有单独的打印方法numericcharacter.使用print方法将具有方法的类打印到控制台print.但是没有print …

r pretty-print

8
推荐指数
1
解决办法
593
查看次数

标签 统计

pretty-print ×1

r ×1