小编duc*_*uck的帖子

golang切片是否超值?

在Golang,我正在尝试为我的旅行推销员问题制作一个争夺切片功能.虽然这样做我注意到当我开始编辑切片时,我给每个传递它时的加扰功能是不同的.

经过一些调试后我发现它是由于我编辑了函数内部的切片.但由于Golang应该是一种"通过价值传递"的语言,这怎么可能呢?

https://play.golang.org/p/mMivoH0TuV

我提供了一个游乐场链接来展示我的意思.通过删除第27行,您获得的输出与输入不同,这应该没有区别,因为该函数在作为参数传入时应该创建自己的切片副本.
有人可以解释这种现象吗?

pass-by-value go slice

32
推荐指数
4
解决办法
2万
查看次数

在chip-8操作码FX65中增加I

在构建芯片 8 仿真器时,我遇到了芯片 8 信息的 2 个主要来源似乎不同的问题,这对整个芯片 8 解释器有影响。

一方面,我们有维基百科,它在操作码 FX65 下告诉我们

“用从地址 I 开始的内存中的值填充 V0 到 VX(包括 VX)。对于每个写入的值,I 增加 1。”

其中“对于写入的每个值I 增加 1。” 是重要的部分。

遵循此结果会产生以下代码:

for(int i = 0; i <= ((opcode & 0x0F00) >> 8); ++i) {
    V[i] = memory[I];
    ++I;
}
Run Code Online (Sandbox Code Playgroud)

另一方面,我们有cowgodchip-8 参考,几乎每个教程都链接到的参考,它告诉我们以下内容

“解释器从位置 I 开始的内存读取值到寄存器 V0 到 Vx。”

应用此逻辑会产生以下代码(这也是大多数芯片 8 实现使用的实现):

for(int i = 0; i <= ((opcode & 0x0F00) >> 8); ++i) {
    V[i] = memory[I …
Run Code Online (Sandbox Code Playgroud)

opcode chip-8

5
推荐指数
1
解决办法
261
查看次数

使用vueJS在html文件中使用预呈现的html作为变量

我目前有关于vueJS的问题.

我有一个服务器端应用程序,它呈现我的HTML并以字符串形式发回.

我想将这个html插入到我的页面中以显示它.

我现在设置如下:

模板:

<div class="section" v-model="html">
   {{ html.body }}
</div>
Run Code Online (Sandbox Code Playgroud)

这将html输出为与将其呈现到页面相对应的字符串.

关于如何解决这个问题的任何想法?

谢谢.

html vue.js

1
推荐指数
1
解决办法
1799
查看次数

如何从env :: var返回匹配的值?

如果SOMEVALUE找到环境变量,则应绑定到k:

let k = match env::var(SOMEVALUE) {
    Ok(val) => {return val},
    Err(e) => println!("could not find {}: {}", SOMEVALUE, e),
};
Run Code Online (Sandbox Code Playgroud)

编译此代码会出现以下错误

   |
11 |         Ok(val) => {return val},
   |                            ^^^ expected (), found struct `std::string::String`
   |
   = note: expected type `()`
              found type `std::string::String`
Run Code Online (Sandbox Code Playgroud)

match rust

1
推荐指数
1
解决办法
799
查看次数

拆分字符串但保留内部字符串完好无损?

我有一个看起来像这样的字符串'a,b,"c,d",e,"f,g,h"'.

我希望能够拆分这个字符串,,但保持封装的字符串完整,得到以下输出:["a","b","c,d","e","f,g,h"].

有没有办法做到这一点,而不必通过char解析字符串char?

javascript string split

0
推荐指数
1
解决办法
34
查看次数

如何迭代一个字符列表,同时仍能在迭代中跳过?

我有以下代码:

let mut lex_index = 0;
let chars = expression.chars();
while lex_index < chars.count() {
    if(chars[lex_index] == "something") {
        lex_index += 2;
    } else {
        lex_index += 1;
    }
}
Run Code Online (Sandbox Code Playgroud)

while在这里使用循环,因为我有时需要跳过一个字符chars.但是,这给了我以下错误:

error[E0382]: use of moved value: `chars`
  --> src/main.rs:23:15
   |
23 |     while i < chars.count() {
   |               ^^^^^ value moved here in previous iteration of loop
   |
   = note: move occurs because `chars` has type `std::str::Chars<'_>`, which does not implement the `Copy` trait
Run Code Online (Sandbox Code Playgroud)

iteration while-loop chars rust

0
推荐指数
1
解决办法
1066
查看次数

标签 统计

rust ×2

chars ×1

chip-8 ×1

go ×1

html ×1

iteration ×1

javascript ×1

match ×1

opcode ×1

pass-by-value ×1

slice ×1

split ×1

string ×1

vue.js ×1

while-loop ×1