运算符%+%在两个包中使用,即ggplot2和crayou。
函数%+%在crayon中有时不能工作,我认为操作符%+%在ggplot2中是考虑的。我试图通过crayon::%+%进行标识,但这不起作用。
cat(green(
'I am a green line ' %+%
blue$underline$bold('with a blue substring') %+%
' that becomes green again!'
))--根据评论:我认为我的理解出现了以下错误
我尝试使用crayon::(backtick)%+%(backtick)而不是%+%运行以下代码
cat(green(
'I am a green line ' crayon::`%+%`
blue$underline$bold('with a blue substring') crayon::`%+%`
' that becomes green again!'
))但会发生以下错误:
> cat(green(
+ 'I am a green line ' crayon::`%+%`
Error: unexpected symbol in:
"cat(green(
'I am a green line ' crayon"
> blue$underline$bold('with a blue substring') crayon::`%+%`
Error: unexpected symbol in " blue$underline$bold('with a blue substring') crayon"
> ' that becomes green again!'
[1] " that becomes green again!"
> ))
Error: unexpected ')' in ")"发布于 2018-11-21 12:49:41
一种选择是不使用library(crayon)或requireNamespace(crayon),完全限定所有crayon引用:
cat(crayon::green(
'I am a green line ' %c+%
crayon::blue$underline$bold('with a blue substring') crayon::`%+%`
' that becomes green again!'
))不过,这很烦人。因此,您也可以手动导入和重命名所需的东西,而不需要单独的非核心包。
`%c+%` <- getFromNamespace("%+%", "crayon") # changed to not break other things
green <- getFromNamespace("green", "crayon")
blue <- getFromNamespace("blue", "crayon")
cat(green(
'I am a green line ' %c+%
blue$underline$bold('with a blue substring') %c+%
' that becomes green again!'
))https://stackoverflow.com/questions/53409877
复制相似问题