- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我不知道如何在 D 中调用“..”运算符。我见过它:
// Slicing
int[] t = list[3..$];
// Looping
foreach (x; 1..10) {}
int[] test = 1..N;
auto harmonic_serie = map!"1 / a"(1..1000);
最佳答案
..
仅用于切片,foreach
, 和范围的 case 语句。这些上下文都不需要创建任何类型的结构或列表来完成它的工作。切片基本上只是取并使用两个索引,而 foreach
只是降低到 for
使用从第一个值开始并递增直到达到第二个的计数器循环。对于 ..
要在其他上下文中工作,它需要降低到某种实际对象或从值生成某种列表,这要复杂得多(至少就实现而言)。因此,该语言不会执行任何操作。为了让它做你正在寻找的事情,编译器实际上必须能够生成范围,并且它所了解的关于范围的所有内容都是使用 foreach
迭代它们所需的内容。 .std.range.iota
实际上创建了一个结构体,它是一个范围并且不需要编译器或语言了解它是如何工作的。因此,它可以用于需要对象来表示值范围和 ..
的地方。不会工作。
我确信在技术上可以制造 ..
生成类似 iota
的内容在其他情况下,但 D 语言设计者在这一点上采取的方法是,如果可以在库中而不是在语言中完成某事,则应该在库中完成,如果有的话,他们会后悔在库中添加一些功能语言而不是把它们放在图书馆里。
关于Dlang 切片和数字范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19744019/
我不知道如何在 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
我是一名优秀的程序员,十分优秀!