shy*_*cha 0 d class naming-conventions
我想body在我的D应用程序中有一个类字段.
像这样:
class Posting
{
// ...
string heading, body, timestamp;
}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试编译这段代码时,我收到一个错误:
source/app.d(8): Error: no identifier for declarator string
source/app.d(8): Error: Declaration expected, not 'body'
Run Code Online (Sandbox Code Playgroud)
一些谷歌搜索显示这body是一个Dlang'关键字.但是用其他名称替换它会导致许多变通方法代码(我试图解析JSON yajl-d).
所以,问题是:我怎样才能body在班上命名?
这是D中最烦人的关键词之一,因为它很容易成为别的东西,而body是一个非常常见的变量名.
但唉,答案是你的课堂上不能有一个名为body的字段.您可以尝试Body或者对其进行body_一些修改,但body不比命名的变量更可行class.
最好的解决方案可能是修改yajl-d使用用户定义属性的覆盖名称(如果存在),而不是编码或解码时的变量名称.这对代码来说是一个相当小的修改,getFieldName来自https://github.com/repeatedly/yajl-d/blob/master/src/yajl/common.d的函数应该这样做.
编辑:我继续编写这个代码:https://github.com/adamdruppe/yajl-d自述文件现在显示了一个例子.请参阅代码差异:https://github.com/repeatedly/yajl-d/pull/6
| 归档时间: |
|
| 查看次数: |
79 次 |
| 最近记录: |