小编Nur*_*yev的帖子

tsserver 日志位于哪里?

所以我添加了这个设置

"typescript.tsserver.log": "verbose"
Run Code Online (Sandbox Code Playgroud)

现在日志位于哪里?我已经搜索过/var/log~/.config/Code/...没有成功。

visual-studio-code

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

到处使用共享指针有哪些陷阱?

我们的代码库使用许多向量。其中一些向量彼此共享对象,即它们包含std::shared_ptr共享对象。问题是:代码库仍处于活跃的开发阶段,通常需要将一些包含值的向量重写为包含共享指针的向量。这很乏味。所以我想出了一个想法:简单地将所有向量作为共享指针的向量。

问题是:可以吗?我应该注意哪些注意事项?会出现什么问题?

我做了一些简单且可能幼稚的测量,在初始化和查询值向量和共享指针向量时,它们之间的性能实际上没有区别。

如果性能不是问题,还有什么我应该注意的吗?

c++ pointers vector

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

编译为 wasm 的 C++ 和 Rust 程序能否以某种方式互操作?

假设我有一个用 Rust 编写的程序和另一个用 C++ 编写的程序。鉴于它们都被编译为 Wasm,我可以以某种方式从另一个程序中调用一个函数吗?

c++ rust wasm-bindgen

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

如何在VSCode中查看大型打字稿类型?

我有一个像这样的大型:

type Large = {
    foo: 123,
    bar: 123,
    baz: 123
} | {
    foo: 123,
    bar: 123,
    baz: 123
} | {
    foo: 123,
    bar: 123,
    baz: 123
} | {
    foo: 123,
    bar: 123,
    baz: 123
} | {
    foo: 123,
    bar: 123,
    baz: 123
} | {
    foo: 123,
    bar: 123,
    baz: 123
} | {
    foo: 123,
    bar: 123,
    baz: 123
} | {
    foo: 123,
    bar: 123,
    baz: 123
} | {
    foo: 123,
    bar: …
Run Code Online (Sandbox Code Playgroud)

typescript visual-studio-code

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

打字稿:如何将项目添加到元组?

为什么这会产生错误“其余元素类型必须是数组类型。”?

type QWE<T extends [number, string]> = [boolean, ...T]
                                                 ^^^^ the error is here
Run Code Online (Sandbox Code Playgroud)

typescript typescript-typings

4
推荐指数
3
解决办法
2177
查看次数

Typescript:如何合并该交集的表示(在工具提示中)?

我有一个重载的函数:

interface FunctionWithOverload {
    (): {
        a: 1
        b: 1
    }

    <T>(arg: T): {
        a: 1
        b: 1
    } & (T extends number ? { c: 1 } : {})
}

const fwo: FunctionWithOverload = () => {return {} as any}

const result = fwo() // result has a nice type: {a: 1, b: 1}
const result1 = fwo(1) // result1 does not: {a: 1, b: 1} & {c: 1}
Run Code Online (Sandbox Code Playgroud)

操场

如果将鼠标悬停在 上,您可以看到工具提示中result有一个很好的 type ,但有一个丑陋的 type 。{a:1,b:1} …

typescript typescript-typings

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

打字稿:如何实现这种类型的递归?

我原来的问题是这样的

我做了以下类型,但由于循环引用错误它不起作用,我不知道如何解决它:

type Increment<T extends number, Tuple extends any[] = [any]> = 
T extends 0 ? 1 :
T extends 1 ? 2 :
T extends TupleUnshift<any, Tuple> ? 
TupleUnshift<any, TupleUnshift<any, Tuple>>['length'] :
Increment<T, TupleUnshift<any, TupleUnshift<any, Tuple>>>
Run Code Online (Sandbox Code Playgroud)

最后它应该像这样工作:

type five = 5
type six = Increment<five> // 6
Run Code Online (Sandbox Code Playgroud)

PSTupleUnshift来自这里

typescript recursive-type typescript-typings

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

如何从字符串的字符的反向迭代器的开头获取索引?

这段代码:

let s = String::from("hi");

for (idx, ch) in s.chars().rev().enumerate() {
    println!("{} {}", idx, ch);
}
Run Code Online (Sandbox Code Playgroud)

版画

let s = String::from("hi");

for (idx, ch) in s.chars().rev().enumerate() {
    println!("{} {}", idx, ch);
}
Run Code Online (Sandbox Code Playgroud)

但我想知道真实的索引,以便它可以打印:

0 i
1 h
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?目前,我只想到先从中获取.count()和减去每个对象idx,但是也许有一种更好的方法被我忽略了。

iterator rust

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

如何从迭代器循环内跳过n个项目?

这段代码:

fn main() {
    let text = "abcd";

    for char in text.chars() {
        if char == 'b' {
            // skip 2 chars
        }
        print!("{}", char);
    }
    // prints `abcd`, but I want `ad`
}
Run Code Online (Sandbox Code Playgroud)

打印abcd,但如果b要找到,我想跳过2个字符,以便打印ad。我怎么做?

我试图将迭代器放入循环外的变量中,并在循环内操作该迭代器,但借阅检查器不允许这样做。

iterator rust

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

Typescript:是否可以获取函数参数列表的类型?

例子:

function a(...args: ???type of b() params???) {
  b(...args)
}
Run Code Online (Sandbox Code Playgroud)

我想args成为 的b参数类型。

如果你想知道为什么我想要这个,那么它是为了代码可读性/封装。b是ed 函数,我不关心它在函数声明import层面的实现a

typescript

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