问题标签 [inout]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
119 浏览

swift - 广泛的 Swift 扩展协议

广泛的扩展协议

斯威夫特 4.1,Xcode 9.3

我想知道,Swift 中最重要的协议是什么。我想做一个适用于可以设置的值的扩展。这样做的目的是让编写更多单行代码变得更容易。


我的扩展:

注意:目前,我正在扩展的“总体Equatable”协议是.

警告:我希望能够.set(to: )用于不符合的值Equatable


用法:

当您需要设置和返回值时,这会很有帮助,现在只需要一行代码即可。


最后的问题

如何在.set(to: )不需要多个实例的情况下实现更深远的影响?

  • 例如,如果我为 , , 编写了相同的扩展EquatableCustomStringConvertible对于CVarArg符合所有 3 个协议的许多值,将会有多个相同扩展的建议。
  • 如果这不可能,我可以使用的最佳总体协议是什么?

奖金问题:有没有办法在扩展中做一些与extension Equatable where !(Element: CustomStringConvertible)extension Equatable where !(Element == Int) (使用where谓词进行排除)不相似的事情?


0 投票
2 回答
1903 浏览

verilog - 在两个方向上将输入端口分配给输入输出

出于模拟目的,使用 Verilog,我想创建一个只有 2 个输入输出端口(比如左和右)的块,并且将从左到右或从右到左传输信号。可以假设该块将仅在转换期间处于活动状态,并将在其余时间等待输入。但我不允许使用任何其他端口。所以模块定义理论上会是这样的:

有解决方案吗?


作为第二个问题,可以通过确定放置后的方向来简化问题。例如,如果将块放置在一个位置,它将始终从左到右传输信号,但在另一个位置,它可以从右到左传输。是否有可能在模块内以某种方式对其进行编码?

谢谢,

0 投票
0 回答
427 浏览

python - multiple array input and array output: SWIG C++ to python

I am trying to access a C++ function from python by using SWIG for wrapping. The function uses two arrays as inputs of length cL and another as output of some smaller length. The SWIG .i file is :

and implemented in python as

I am getting an error in python

Since the function uses pointer to access array variable, cant figure out the correct configuration to be done in .i file.

0 投票
2 回答
10981 浏览

verilog - 在verilog中带有reg类型的inout

我用过inoutwith c,但c要在程序赋值的 LHS 上,它需要是一个reg类型变量。任何人都可以帮我解决这个代码吗?

0 投票
2 回答
191 浏览

swift - Inout 不适用于 SubClass 对象抛出无法将不可变值作为 inout 参数传递

我有两个代码块

块1

class Plane: SCNNode 当我尝试将它的对象传递给需要inout它向我显示错误的函数时,我有子类

无法将不可变值作为 inout 参数传递:从“Plane”到“SCNNode”的隐式转换需要临时

虽然如果我删除子类,那么它工作正常

为什么这是快速错误或我遗漏了什么?

0 投票
1 回答
69 浏览

r - 多边形内的网格点:以前的解决方案对我不起作用

出于某种原因,我无法让@RichPauloo 提供的解决方案正常工作,并感谢一些帮助。

我有一个名为“spdf”的 SpatialPolygonsDataFrame(在下面的保管箱链接中) https://www.dropbox.com/s/ibhp5mqbgfmmntz/spdf.Rda?dl=0

我使用下面帖子中的代码来获取边界内的网格数据。

在 R 中为 gstat 中的克里金法创建网格

这是我得到的:

这是网格图

  • 黑点是来自 makegrid 的“grd”

  • 蓝点以“轮廓”为界

  • 红点是“new-grd”作为边界内的网格

如您所见,它没有捕获边界内的所有数据?我究竟做错了什么?

0 投票
0 回答
95 浏览

swift - 为什么我可以在使用 try 时使用 inout 参数改变 let 常量?

这将无法编译并出现以下错误:

不可变值“self.constantValue”不得传入输出

然而,这将编译并实际改变 let 常量。

有谁知道为什么会这样以及它是否是预期的行为?

我提交了一个错误https://bugs.swift.org/browse/SR-8368

0 投票
2 回答
796 浏览

vhdl - INOUT 端口的多路复用器

嘿伙计们,我正在尝试交换 2 对 INOUT 信号,但到目前为止没有太多成功。

我有两个 PS/2 控制器,我想交换 PS2(1) 到 PS2(2) 信号,同时交换 PS2(2) 到 PS2(1) 信号。

也许用实际的(狙击的)代码来解释更简单。

如您所见,我想使用控制信号“ps2_mode_s”在鼠标和键盘之间交换信号。如果此信号为“0”,我需要第一个端口上的键盘和第二个端口上的鼠标。如果它是“1”,则相反,第一个端口上的鼠标和第二个端口上的键盘。

我已经尝试了一些变化,但我没有找到合适的解决方案。

(编辑)如果我使用多路复用器,两个端口似乎都不会发送或接收任何数据。

(编辑)所有四个信号都连接到各自的模块。PS2K_DAT_IN、PS2K_CLK_IN、PS2K_DAT_OUT、PS2K_CLK_OUT 进入 ps2 键盘控制器,其他四个 PS2M_DAT_IN、PS2M_CLK_IN、PS2M_DAT_OUT、PS2M_CLK_OUT 进入 ps2 鼠标控制器模块。如果我不使用多路复用器,两个模块都可以工作,将信号直接连接到 INOUT 端口。

有人可以帮忙吗?

0 投票
0 回答
44 浏览

sql - VB.net SQL 输出循环在下一个循环中重命名文件错误

这里是堆栈的新手。我正在开发一些工作工具,允许我们从数据库中提取信息,然后使用额外的自定义代码对其进行操作。由于我需要输出没有标头,因此我想要一个文件(由 schema.ini 定义),我将临时将数据写入该文件,然后在重新开始之前复制并重命名它。使用 VS2017,当我调试时,它会在第一次迭代后吐出无法找到 RawC.txt 的错误。我似乎无法弄清楚为什么。这可能很简单,但我一直无法在网上找到。有谁可以帮我离开这里吗?以下是我遇到问题的块:

For each of the three files, output the sorted list. Schema has the correct format

这个循环的最终输出应该是三个唯一的文件,我将把它们传递给另一个代码,该代码将对其执行一些数学运算。

0 投票
0 回答
35 浏览

swift - 如何在 iVar 数组上使用 inout?

我不太明白为什么下面的代码不会更新array1and的原始值array2。我正在尝试inout在一系列 iVar 上使用...

...

上面打印出来:

有什么方法可以实现我的期望:

打印出 tempArray 确实表明它正在被修改:

但我真的希望 OG 数组(array1 和 array2)成为被修改的数组......想法?