r - 如何指定运算符 %+% 的库,例如 pkg:: 或 pkg:::
问题描述
该运算符%+%
用于两个包中,即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 ")"
解决方案
一种选择是不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!'
))
推荐阅读
- json - 如果 API 中存在空白或 null,则 JSON 序列化
- json - Echarts - 基于 Json 数据的动态多折线图
- java - AWS DynamoDB 在 Map 属性中按键查找项目(不是分区键)
- azure-devops - Azure DevOps 是否可以对队列中的构建进行分组
- c++ - 关于在 C++ 中使用命名空间 std
- json - 如何在postgresql中合并两个json_array
- angular - 我想使用 Ionic 框架将我现有的复杂 Angular 项目转换为移动应用程序。任何人都可以建议我的程序吗?
- php - laravel 路由名称参数
- visual-studio - 如何使用 Visual Studio 在 Azure Functions 2.0 上调整图像大小?
- javascript - 有没有办法不将任何东西传递给子道具方法?