小编Ruu*_*jah的帖子

数据记录器和数据采集系统/软件使用哪些流行/好的文件格式?

流行的数据记录器文件格式(用于 GPS 记录器、汽车黑匣子等设备)和数据采集文件格式有哪些?最有趣的是具有开放规范的格式,或没有专利的逆向工程格式。

睡眠诊断系统:

file

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

使用 Web 组件的 Vanilla hello world 应用程序

我正在尝试构建一个没有任何外部依赖项的简单 Web 组件。只有两个 html 文件,一个 index.html 和一个 webcomponent.html。

我有一些个人 html 项目,我想将全局 html 命名空间分成更小的文件。我不想为此使用任何像聚合物这样的外部库。我不想使用任何构建系统或网络服务器。

我在网上找到的所有示例都需要外部构建系统或库。此外,如果没有网络服务器,它们也不会工作。例如,webcomponents/hello-world声称使用 vanilla-js。但事实上,它不是,因为它取决于鲍尔。

只有两个 html 文件在我的本地编辑-保存-刷新开发周期中工作。这真的可能吗?如果是这样,如何?如果没有,最接近的妥协是什么?

html javascript web-component custom-element

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

Rust Cargo 中插入符号版本约束意味着什么?

我正在实现 Rust Cargo 版本要求。一般来说,我很难理解指定的插入符要求。我发现package.json 中的 tilde(~) 和 caret(^) 有什么区别?,但是这个问题是关于 npm 版本要求的,我不确定它是否与 Rust Cargo 版本要求相同。

\n

https://doc.rust-lang.org/cargo/reference/specifying-dependency.html#caret-requirements,我读到:

\n
\n

Caret 要求允许 SemVer 兼容更新到指定版本。如果新版本号不修改主要、次要、补丁分组中最左边的非零数字,则允许更新。在这种情况下,如果我们运行,如果是最新版本, cargo update -p timecargo 应该将我们更新到版本,但不会将我们更新到。相反,如果我们将版本字符串指定为,则货物应该更新为(如果它是最新版本),而不是。该版本不被视为与任何其他版本兼容。0.1.130.1.z0.2.0^1.01.11.y2.00.0.x

\n
\n
\n

以下是插入符要求及其允许的版本的更多示例:

\n
\n
\n
^1.2.3  :=  >=1.2.3, <2.0.0\n^1.2    :=  >=1.2.0, <2.0.0\n^1      :=  >=1.0.0, <2.0.0\n^0.2.3  :=  >=0.2.3, <0.3.0\n^0.2    :=  >=0.2.0, <0.3.0\n^0.0.3  :=  >=0.0.3, <0.0.4\n^0.0    :=  >=0.0.0, <0.1.0\n^0      :=  >=0.0.0, <1.0.0\n
Run Code Online (Sandbox Code Playgroud)\n

此兼容性约定与 SemVer 的不同之处在于它对待之前版本的方式1.0.0。虽然 …

rust rust-cargo

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

通用参数不可分配

我正在使用C#.NET 3.5.我明白了

参数类型'GenericTest.BarkStrategy'不能赋值给参数类型'GenericsTest.IAnimalStrategy'

以下(对于这个问题尽可能简化)代码:

using System.Collections.Generic;

namespace GenericsTest {
    class Program {
        static void Main(string[] args) {
            List<IAnimalStrategy<IAnimal>> strategies = 
                new List<IAnimalStrategy<IAnimal>>();
            strategies.Add(new BarkStrategy());
        }
    }

    interface IAnimal { }
    interface IAnimalStrategy<T> where T : IAnimal { }
    class Dog : IAnimal { }
    class BarkStrategy : IAnimalStrategy<Dog> { }
}
Run Code Online (Sandbox Code Playgroud)

c# generics

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

如何在Moq中更改输入参数?

考虑

var list = new List<string>();
someObject.AddOne(list);
Assert.AreEqual(1, list.Count);
Run Code Online (Sandbox Code Playgroud)

如何设置模拟?我预计

var mock = new Mock<SomeObject>();
var list = new List<string>();
mock
    .Setup(so => so.AddOne(list))
    .Callback<List<string>>(l => l.Add("derp"));
Run Code Online (Sandbox Code Playgroud)

正常工作,但没有调用回调。

我不能更改SomeObject,因为这是我使用的外部API。

c# moq

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

如何在 vue.js 中呈现多态列表?

考虑:

class X {}
class B extends X {}
class C extends X {}
Run Code Online (Sandbox Code Playgroud)

在一个组件中,我有一个 X 数组:

<template>
    <ul>
        <li v-for="item in items">
            <a-view v-if="item.constructor.name === 'A'"></a-view>
            <b-view v-if="item.constructor.name === 'B'"></b-view>
        </li>
    </ul>
</template>

export default {
    ...
data() {
    return {
        items: [new A(), new B()]
    }
}
Run Code Online (Sandbox Code Playgroud)

这有效,但并不优雅。类型检查使用字符串,其中item instanceof B将是惯用的 es6 代码。但是,这不起作用。

在 vue.js 中呈现多态列表的惯用方式是什么?

javascript polymorphism ecmascript-6 vuejs2

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

多态null合并算子

考虑

interface IResult {}
class Result : IResult {}
class Results : IResult {}

class Producer {
    private Results results;
    IResult DoSomething() {
        return results ?? new Result();
    }
}
Run Code Online (Sandbox Code Playgroud)

这会因编译器错误而失败

Operator '??' cannot be applied to operands of type `Result` and `Results`
Run Code Online (Sandbox Code Playgroud)

对我来说,这是出乎意料的行为.考虑到这一点,.NET框架可能会创建一个类型的中间变量Results(左操作数).右操作数Result的类型不同,因此会产生类型转换错误.这个假设是否正确?

如果是,为什么csc不会检测到中间变量的类型IResult

所以我把代码改成了样子

return results == null ? new Result() : results;
Run Code Online (Sandbox Code Playgroud)

但是这段代码错了

There is no explicit conversion between `Result` and `Results`
Run Code Online (Sandbox Code Playgroud)

为什么?我不指望这个,因为两个实例都符合IResult.

.net c# polymorphism compiler-errors operators

0
推荐指数
2
解决办法
209
查看次数

字符串声明"A"+"B"vs"AB"

代替

string someString = "AB";
Run Code Online (Sandbox Code Playgroud)

我偶然发现了

string someString = "A" + "B";
Run Code Online (Sandbox Code Playgroud)

是否有任何技术解释使第二种方式更有利?

c# string

-3
推荐指数
1
解决办法
84
查看次数