小编Nur*_*yev的帖子

如ClojureScript,Elm,PureScript,GHCJS等不可变语言如何编译成可变的javascript?

我认为埋没到列出的语言源代码对我来说太过分了.但有没有人能够用简单的术语解释事情是如何发生的?

我的意思是,最终不可变数据仍将是javascript的数据.或者编译代码包含非std数据结构,例如用于不可变数组的'a,b,c'字符串

immutability elm ghcjs purescript

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

Typescript:将必需属性转换为可选属性

如何将非可选属性转换为可选属性?这是代码:

interface Foo {
  bar: any // no '?', hence this prop is required
}

type KeysOfFoo = {
  [K in keyof Foo]: any
}

const keysOfFoo: KeysOfFoo = {} // No tsc error wanted here, got: "type '{}' is not assignable to type KeysOfFoo"
Run Code Online (Sandbox Code Playgroud)

typescript

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

我应该如何访问 VSCode 用户的文件系统?

所以我正在制作一个 VSCode 扩展。它应该读取和修改用户文件系统的文件。我应该用节点来做fs还是应该为此使用一些 VSCode 的接口/API?

如果后者是正确的,那么我需要的 API 命名空间是什么(工作区或其他东西)?

如果前者没问题,我该如何真正使用fs?如果用户没有安装 node.js 怎么办?还是它总是与 VSCode 一起安装?

node.js visual-studio-code vscode-extensions

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

我应该包含<tuple>吗?

我是C ++的新手,我怀疑,这个问题当然不仅与有关tuple

因此,我看了一个大致包含以下代码的教程:

#include <tuple>

std::tuple<...> t(...)
Run Code Online (Sandbox Code Playgroud)

为什么#include <tuple>呢 特别是考虑到我们明确编写的事实std::tuple。没有那#include行代码就可以很好地编译...

c++ header

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

在Laravel中,我该如何非静态启动特征

有什么原因为什么我们只有这种静态方式才能在Laravel中引导特征:

static function bootMyTrait ()
{...}
Run Code Online (Sandbox Code Playgroud)

有什么方法可以启动特征并在启动功能中包含模型实例?像这样:

function bootMyTrait ()
{
    if ($this instanceOf awesomeInterface)
    {
        $this->append('nice_attribute');
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要这种自动对焦,并且很长一段时间都没有找到任何解决方案。

php model traits laravel eloquent

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

HTTP/2有什么好处:Apache vs Nginx?

我正在为大型SPA应用程序选择一个更好的Web服务器,其中包含许多JS和css文件.使用HTTP/2,我们现在无法将它们合并为两个大文件(JS为3 MB),在慢速连接时需要很长时间才能加载.但是哪种服务器更适合新的HTTP/2范例?

Nginx旨在解决http/1问题,它的优点是更好地服务于大量连接,HTTP/2只有一个连接用于所有文件,因此该功能现在似乎是多余的.你觉得怎么样,你能告诉我什么?

apache nginx single-page-application http2

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

有没有更可维护的方式来初始化结构?

假设您有一个这样的结构:

struct Foo {
   int a;
};
Run Code Online (Sandbox Code Playgroud)

目前,我正在像这样初始化它:

Foo foo = {1};
Run Code Online (Sandbox Code Playgroud)

现在,如果我添加另一个成员:

struct Foo {
   int a;
   int b;
}
Run Code Online (Sandbox Code Playgroud)

代码仍然可以编译,编译器认为初始化是完全可以的。但是我希望编译器在向结构中添加新成员时产生错误。可能吗?

c++ struct initialization

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

如何安全地从向量中删除项目?

假设我有这个向量:

let mut v = vec![1,2,3];
Run Code Online (Sandbox Code Playgroud)

我想从中删除一些项目:

v.remove(3);
Run Code Online (Sandbox Code Playgroud)

它惊慌失措。我怎样才能捕捉/优雅地处理这种恐慌?我尝试使用panic::catch_unwind,但它似乎不适用于向量(std::vec::Vec<i32> may not be safely transferred across an unwind boundary)。我应该在删除项目之前手动检查索引中是否存在该项目吗?

vector rust

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

也许莫纳德:为什么flatMap是平的?

在阅读了关于打字稿中的monads的这篇伟大的文章之后:https://codewithstyle.info/advanced-functional-programming-in-typescript-maybe-monad/ 我觉得我已经设法掌握了除了这个问题主题之外的所有内容.

有人可以解释为什么flatMap()扁平不同map(),鉴于唯一的区别是前者接受lambda Maybe作为返回值?

我完全理解为什么数组可以"扁平化",但我无法将"扁平"的含义应用于monad.

monads functional-programming typescript

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

什么时候应该使用智能指针?

对于C ++,有一个类似的,非常受欢迎的问题,但对于Rust,我找不到类似的现有问题。

那么,什么是用例BoxRcRefRefMut(其他人?)拉斯特?

这个问题的重要部分(对我个人而言):什么时候应该使用智能指针代替引用?

我知道《锈皮书》非常非常彻底地解释了它,但我希望在主题上有一个简洁明了的“备忘单”,其中可能包含本书中缺少的一些实际示例。

smart-pointers rust

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

有没有比将其转换为字符串更好的方法来测试char是否为空格?

我有一个检查a char是否为空格的函数:

fn is_any_whitespace(ch: &char) -> bool {
    let re = Regex::new(r"\s").unwrap();
    let slice = &ch.to_string()[..];
    re.is_match(slice)
}
Run Code Online (Sandbox Code Playgroud)

让我困扰的是,我转换部分char&str&str是参数的类型is_match接受):

&ch.to_string()[..]
Run Code Online (Sandbox Code Playgroud)

能否更优雅,更有效地完成?

char slice rust

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

函数和变量从何而来?

请抱歉,我是JavaScript和TypeScript专家,不是c ++专家。

但是JS引擎V8是用c ++编写的,这是那里的代码:

// Convert the result to an UTF8 string and print it.
v8::String::Utf8Value utf8(isolate, result);
printf("%s\n", *utf8);
Run Code Online (Sandbox Code Playgroud)

在上面的代码中有两行。第一行包含utf8功能...它来自哪里?我之前在文件中没有看到它,也没有导入它(还是它)?

第二行包含utf8变量(对吗?),但带有*我不知道的修饰符。变量来自哪里?星形修饰剂的作用是什么?

很抱歉遇到这样的问题,但是在这一点上,我无法深入研究最复杂的语言之一的文档,即c ++。

c++ v8

-2
推荐指数
1
解决办法
66
查看次数

如何获得枚举项的类型?

这里有个新手问题...

如何创建一个元组类型,其中元组的一个项目是一个特定的项目enum

enum class MyEnum
{
  MyEnum_FirstItem
};

typedef std::tuple<int, MyEnum::MyEnum_FirstItem> MyTuple; // constant "MyEnum::MyEnum_FirstItem" is not a type name
Run Code Online (Sandbox Code Playgroud)

如何获得枚举项的类型而不是值?

PS用“获取枚举项目类型”搜索Google,但未找到任何内容。

我来自TypeScript,出于文档目的,我曾经在那里做过。另外,真正的问题可能应该是:c ++中是否有确切的数字类型?

c++

-2
推荐指数
1
解决办法
71
查看次数