- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下2个下标有什么区别?
subscript(position: Int) {
get { ... }
}
subscript(position: Int) {
_read { ... }
}
最佳答案
_read
是 Swift Ownership 故事的一部分,该故事已经开发了一段时间。由于 read
(经过 Swift Evolution 后的可能名称)是该语言的相当高级的概念,因此您可能至少需要阅读 Ownership Manifesto here 中描述的内容,以获得比我在这里提供的更完整的答案。
它是下标上 get
的替代方法,允许您对值进行 yield
而不是 return
值。这对于仅移动类型是必不可少的,因为它们不能被复制(这是它们的全部目的),当您 return
一个值时会发生这种情况。通过使用 read
它可以让你拥有例如只移动类型的 Array
并且仍然使用其中的值,而无需通过移动它们来获取它们的所有权。从概念上考虑它的最简单(并且技术上不正确,因为它是一个协程)方法是您获得一个指向 read
yields
对象的指针。read
的兄弟是 modify
,它目前处于 Swift Evolution here 的音调阶段,因此它也可以让您了解 read
是什么,因为它也是一个协程。
所以现在如果 Xcode 给你一个 _read
来实现,只需将它更改为 get
因为它是一个错误,因为它不是语言的官方部分。
关于Swift get vs _read,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60105624/
这里的代码块运行良好,直到调用 _read 函数,之后它无缘无故地更改文件句柄变量“fh”的值。 std::string& xLogFile; std::string& xBuffer
以下2个下标有什么区别? subscript(position: Int) { get { ... } } subscript(position: Int) { _read { ...
本题是如何真正实现一个可读流的read方法。 我有一个可读流的实现: import {Readable} from "stream"; this.readableStream = new Readab
我开始在 Atmel Studio 中收到以下链接器错误: c:/program files (x86)/atmel/studio/7.0/toolchain/arm/arm-gnu-toolchai
我了解如何在 Node 的新 Streams2 库中使用可写流,但我不了解如何使用可读流。 例如,围绕 dgram 模块的流包装器: var dgram = require('dgram'); v
我创建自己的阅读流。但我想知道_read()什么时候被调用?如果我不添加on('data')监听器,_read()就不会被调用,为什么? var data = [{"id":0,"name":"obj
我在 win32 下编译 mpg123 库。它不希望它链接到 MSVCR90.DLL 我改变了:C/C++ -> “忽略所有默认库”为 YES 添加“附加依赖项”==> libcmt.lib 《C/C
在 Node.js 中,我有一个可读流: var rs = new (require('stream').Readable);
我正在尝试找出 Node 中的流并尝试 the stream handbook 中的一些示例 我正在尝试 _read可读流的方法。它说,它接受一个参数,该参数是消费者想要读取的字节数。 我有两个问题。
我正在将一个简单的 socket 客户端程序从 Linux 迁移到 Windows (VS2012)。该程序使用常规的close、read 和write 函数。 在 VS2012 中编译时,我收到以下
我是一名优秀的程序员,十分优秀!