gpt4 book ai didi

writeln 中的连接?

转载 作者:行者123 更新时间:2023-12-04 05:18:29 28 4
gpt4 key购买 nike

我是 D 的新手,我只是在尝试。我正在使用的一本书给了我一个通用二进制搜索方法的例子。然后我想制作我自己的主要方法来打印结果只是为了好玩。我来自 Java,其中字符串连接只是使用 + 运算符完成的。

但是当我在 D 中尝试时,它说这两种类型(在这种情况下是 String 和 bool)不兼容。正如我在 C++ 中看到的那样,我尝试使用 << 操作,但它告诉我它不是一个整体。那我怎么连接呢?

import std.stdio, std.array;

void main() {
bool b = binarySearch([1, 3, 6, 7, 9, 15], 6);
writeln("6 is in array: " + b);
b = binarySearch([1, 3, 6, 7, 9, 15], 5);
writeln("5 i sin the array: " + b);

}

bool binarySearch(T)(T[] input, T value) {
while(!input.empty) {
auto i = input.length / 2;
auto mid = input[i];
if(mid > value) input = input[0 .. i];
else if (mid < value) input = input[i + 1 .. $];
else return true;
}
return false;
}

最佳答案

writeln 最简单的方法是用逗号分隔它。

writeln("6 is in array: ", b);

每个参数都会自动转换为字符串并输出。 writeln 可以接受任意数量的参数。

但一般来说,D 中的字符串连接是通过 ~ 完成的。运营商: string a = b ~ c ; b 和 c 都必须是字符串类型。

要转换为字符串,您可以执行以下操作:
import std.conv;
int a = 10;
string s = to!string(a); // s == "10"
bool c = false;
string s2 = to!string(c); // s2 == "false"

std.conv.to 也可以与其他类型相互转换,例如to!int("12") == 12。

因此, string s = to!string(a) ~ " cool " ~ to!string(c);会在那里工作。

关于writeln 中的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13943927/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com