- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下 D 程序,该程序应该将输入行分组为大小为 3 的组。
import std.stdio;
import std.range;
import std.array;
void main()
{
while (!stdin.eof) {
auto currentBlock = array(take(stdin.byLineCopy, 3));
foreach (i, e; currentBlock) {
writefln("%d) %s", i, e);
}
}
}
并给出以下输入
Mercury
Venus
Earth
Mars
Jupiter
Saturn
Uranus
Neptune
Pluto
它产生输出。
0) Mercury
1) Venus
2) Earth
0) Jupiter
1) Saturn
2) Uranus
0) Pluto
在每次迭代中跳过边界线(火星和海王星不在输出中)。我做错了什么?
最佳答案
stdin.byLineCopy
calls popFront
,这意味着在同一输入流上重复调用此函数将“跳过”元素。尝试在开始时仅创建一次 byLineCopy
范围:
void main()
{
auto r = stdin.byLineCopy;
while (!r.empty) {
foreach (i, e; r.take(3).enumerate) {
writefln("%d) %s", i, e);
}
}
}
您不需要检查 eof
,因为 byLineCopy
应该处理该问题。
关于Dlang byLine复制跳行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43592430/
我不知道如何在 D 中调用“..”运算符。我见过它: // Slicing int[] t = list[3..$]; // Looping foreach (x; 1..10) {} 但似乎我不能在
我有以下 D 程序,该程序应该将输入行分组为大小为 3 的组。 import std.stdio; import std.range; import std.array; void main() {
所以我只是看一下发布在 dlang 网站上的示例:http://dlang.org/rdmd.html并希望做一些类似于第二个版本的事情,您将 #!/usr/bin/env rdmd 定义为文件的第一
我有这段代码来检查字符串是否有 j 个字符 import std.stdio; void main() { const string name = "john"; for (int i
我正在尝试使用 Dlang 运行 OpenGL 示例。 void onError(int code, const(char)* text) nothrow { } 用法: glfwSetErrorCa
我有一个看起来像这样的结构: struct MultipartMessage { ubyte[] mime, data; Header header; void setSend
我在理解 D 中的模板时遇到了一些麻烦。 我了解 struct Foo(T) { }或类或函数的等价物,但 template Bar(T) { } 是什么? ?它与类、结构或函数模板有何不同,我什么时
我想写一个聊天服务器。 使用编程语言D。(Dlang) 希望使用OOP。 我的例子。(不起作用) import std.stdio; import std.concurrency; import co
如何对 D 中的用户定义对象数组进行排序? 来自 C++ 背景,我想您必须为数组中存储的类型声明一个运算符重载,或者使用比较器函数... 如果有一个如何做到这一点的例子,我们将不胜感激。 最佳答案 你
通过使用 Ruby,我们可以做到这一点。 s = "split by space" A,B,C = s.split(" ").map(&:to_i) 使用 D-lang,它是编译错误。 string
有没有办法不用重复写this(parent class args) {super(parent class args);}当参数完全相同时? 编码: class Parent { string n
第一次海报。我已经使用 Java 几年了,并决定学习 D。在 Java 中,您可以声明一个具有泛型类型的类,并从该类创建一个新对象。喜欢: public class foo { public
import std.range : cycle; void foo() pure @safe { cycle([1, 2]); } 今天遇到一个用D语言写的程序。我试图从一个简单的函数开始理
在 D 编译器中,“final switch”构造在 D 中的普通 switch 之上提供了哪些额外的优化可能性(如果有的话)? (DLang) 最佳答案 简答:无。 长答案:初级优势final sw
来自 https://dlang.org/library/std/typecons/nullable.html : auto auto nullable(T) ( T t ); 什么是“双自动”?
我正在尝试将以下 C# 代码转换为 D,但是我不知道如何使模板约束起作用。 C# 实现 public interface IComponent { } public class Container {
我从 bin 文件中读取了这段代码。数据保存在一个结构数组中并以 null 结尾我的目标是读取用 c 代码编写的数据 write (filehandle, (char *)arrayOfCELLs,
我想从关联数组中获取任何键/值对并将其删除。 在python中它是: key, value = assoc.popitem() 在 D 我做: auto key = assoc.byKey.front
我的代码中有以下行: static if (typeof(val) == string) { 它没有编译并返回错误 Error: incompatible types for ((string) ==
使用 D,我怎样才能将函数(可能是对函数的引用)作为参数传递给在其他函数中执行? import std.stdio : writeln; class Event {} class EventTarge
我是一名优秀的程序员,十分优秀!