为了账号安全,请及时绑定邮箱和手机立即绑定

在我自己的包中使用data.table包

在我自己的包中使用data.table包

慕标琳琳 2019-08-17 16:36:31
在我自己的包中使用data.table包不要使用dot作为行为。使用点来访问或设置类似属性的属性,通常是声明为属性的属性。x = foo.name; // goodfoo.age = 42; // goody = x.retain; // badk.release; // compiler should warn, but some don't. Oops.v.lockFocusIfCanDraw; /// ooh... no. bad bad bad对于刚接触Objective-C的人,我建议不要使用dot作为声明为@property的东西。一旦你对语言有了感觉,那就做对了。例如,我发现以下内容非常自然:k = anArray.count;for (NSView *v in myView.subviews) { ... };您可以预期,clang静态分析器将增强允许您检查点仅用于某些模式或不用于某些其他模式的能力。
查看完整描述

2 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

FAQ 6.9:我创建了一个依赖于data.table的包。如何确保我的包是data.table-aware,以便从data.frame继承?

要么i)包含data.tableDepends:DESCRIPTION文件的字段中,要么ii)包含data.tableImports:DESCRIPTION文件的字段中和import(data.table)NAMESPACE文件中。

进一步的背景...在[.data.table(和其他data.table功能)的顶部,你会看到一个开关取决于调用的结果cedta()。这代表呼叫环境数据表感知。打字data.table:::cedta显示它是如何完成的。它依赖于具有命名空间的调用包,以及该命名空间Import'ing或Depend'ing on data.table。这是如何data.table传递给非data.table-aware包(例如函数base)和那些包可以使用绝对标准的[.data.frame语法data.table,幸福地不知道data.frame is()data.table

这也是data.table继承不习惯与无命名空间包兼容的原因,以及为什么在用户请求时我们不得不要求这些包的作者在其包中添加一个名称空间以便兼容。令人高兴的是,现在R为缺少一个(从v2.14.0开始)的软件包添加了一个默认命名空间,这个问题已经消失了:

更改版本2.14.0 
*所有软件包都必须具有命名空间,如果源中未提供,则会在安装时创建一个。


查看完整回答
反对 回复 2019-08-17
  • 2 回答
  • 0 关注
  • 581 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信