如何在数组前插入元素?

How to insert element before array?

O 想要遍历数组,如果数组元素以所需值开头,则在它之前插入另一个值。

import std.stdio;
import std.container;
import std.algorithm;
import std.array;

void main()
{
    string [] str = ["aa","bb","cc","dd"];
    foreach(s;str)
    {
        if(s.canFind("bb"))
        {
            s.array.insertBefore('x');
        }
    }
}

我遇到错误:Error: no property 'insertBefore' for type 'dchar[]'

总结 Adam 的建议和本地化导入,我们得到一个工作示例:

void main()
{
    import std.stdio;
    import std.algorithm;

    string [] str = ["aa","bb","cc","dd"];
    foreach(ref s;str)
    {
        if(s.canFind("bb"))
        {
            s = 'x'~s;
        }
    }
    writeln(str);
}

我也推荐更实用的款式:

void main()
{
    import std.stdio;
    import std.algorithm;

    string [] str = ["aa","bb","cc","dd"];

    writeln(str.map!(s => s.canFind("bb")?'x'~s:s));
}