使用 .length 返回不正确的元素数量

用户10246438

使用.length动态数组属性时,为什么我使用返回不正确数量的元素appender

如果我使用~=语法,它会返回正确的长度。

代码:

import std.stdio;
import std.array : appender;

void main()
{
    //declaring a dynamic array
    int [] arrayofNumbers;
    //append an element using the ~= syntax
    arrayofNumbers ~= 1;
    arrayofNumbers ~= 2;
    //print the array
    writeln(arrayofNumbers);

    //Using appender
    auto appendNumber = appender(arrayofNumbers);
    appendNumber.put(10);
    writeln(appendNumber.data);

    writeln(arrayofNumbers.length);

}

我正在阅读这篇文章,我认为相关部分指出:

这样做的另一个后果是长度不是数组属性,而是切片属性。这意味着长度字段不一定是数组的长度,它是切片的长度。这可能会使该语言的新手感到困惑。

然而,这是指切片和动态数组。

用户10246438

根据文档 appender.data返回一个托管数组。所以获取元素个数的正确方法是调用.length返回的数组。

更正的代码:

int [] managedArray = appendNumber.data;
writeln(managedArray.length);

或者

writeln(appendNumber.data.length);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

硒返回的元素数量不正确

返回的 html 元素数量不正确

File.length()在Java中返回不正确的值

mysql char_length返回不正确的结果

Java:使用trim()后得到不正确的string.length()

如何使用Perl为HTTP请求发送不正确的Content-Length标头?

dplyr错误“ length(xmin)== 1不正确”,使用integrate()函数时发生突变

jQuery函数返回不正确的像素数量

PHP ob_get_length似乎返回不正确的值

使用锚标记的元素方向不正确

Gremlin 在 hasId 中使用 select 返回不正确的结果

MySQL if语句使用聚合函数返回不正确的结果

使用 YouTube API 搜索频道返回不正确的结果

Yii-使用CJuiDatePicker返回的日期范围不正确

java return String[] in method,String[].length 不正确

JSViews array.length更新不正确

NSString对象的length属性的值不正确

无法使用.not()或:不正确

何时使用.length和.length()

如何使用 Many2Many 关系中的元素数量正确注释 QuerySet?

如何使用合并来分配从核心数据获取请求返回的元素数量?

何时使用length以及何时使用length()

Angular - 使用 ngFor 中的函数创建 html 元素显示不正确

使用Javascript生成时,SVG textpath元素在Firefox中呈现不正确

如何使用 C# 将元素插入格式不正确的 XML 文件中的特定节点?

当对猫鼬返回的结果使用lodash时输出不正确

使用 Lucene 查询语法的 Azure 搜索返回不正确的结果

使用多个联接时,mysql sum查询返回不正确的结果

使用动态广告资源时,ansible返回不正确的var