小编cur*_*nii的帖子

ES6 模块如何在 Node 中作为脚本运行?

ES6 模块如何在 Node 中作为脚本运行?

当我尝试这个shebang时,我收到一个错误:

#!/usr/bin/env node --experimental-modules
Run Code Online (Sandbox Code Playgroud)

/usr/bin/env: 'node --experimental-modules': 没有那个文件或目录

如果我使用这个shebang,它有语法错误(当然):

#!/usr/bin/env node
Run Code Online (Sandbox Code Playgroud)

语法错误:意外的令牌导入

我正在使用的解决方法是使用 shell 脚本来调用模块:

#!/usr/bin/env sh

BASEDIR=$( dirname "$0" )
node --experimental-modules $BASEDIR/script.mjs "$@"
Run Code Online (Sandbox Code Playgroud)

是否可以在没有第二个文件的情况下使其工作?

executable shebang node.js es6-modules

13
推荐指数
3
解决办法
1927
查看次数

Return-Path标头如何与实际的电子邮件退回收件人不同?

我最近将我的交易电子邮件发送到Mailgun

到目前为止它工作得很好,但我想知道返回路径标题.

考虑这封电子邮件(为了隐私目的,我删除了不相关的标题并替换了电子邮件/域

Delivered-To: RECIEVER@gmail.com
Received: by 10.76.154.104 with SMTP id vn8csp478308oab;
        Wed, 4 Sep 2013 05:04:44 -0700 (PDT)
X-Received: by 10.50.22.105 with SMTP id c9mr1537992igf.36.1378296283817;
        Wed, 04 Sep 2013 05:04:43 -0700 (PDT)
Return-Path: <bounce+a801a1.c2b37-RECIEVER=gmail.com@my-website.com>
Received: from so254-63.mailgun.net (so254-63.mailgun.net. [198.61.254.63])
        by mx.google.com with ESMTP id k5si1620852igx.55.1969.12.31.16.00.00;
        Wed, 04 Sep 2013 05:04:43 -0700 (PDT)
Received-SPF: ...stripped...
Authentication-Results: ...stripped...
DKIM-Signature: ...stripped...
DomainKey-Signature: ...stripped...
Received: by luna.mailgun.net with HTTP; Wed, 04 Sep 2013 12:04:42 +0000
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Subject: ...stripped... …
Run Code Online (Sandbox Code Playgroud)

email spam email-headers email-bounces verp

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

你如何在JavaScript中"组合变量"来满足JSLint?

对于一个学校项目,我正在努力创建一个能够完成任务的网站.为了实现它,我使用的是HTML,JavaScript和CSS.我正在使用一个提供调试提示的编译器.这些提示由JSLint提供.我被告知我应该结合我写的两个变量,但我不明白这意味着什么.

我做了一些研究(在Stack Overflow和其他网站上),但所有这些都想出了将变量放入数组的人.

有人会向我解释我该做什么吗?

代码(简化):

var x = document.getElementById("some id");
var y = document.getElementById("some other id");
var z = document.getElementsByTagName("some tag name");
Run Code Online (Sandbox Code Playgroud)

而JSLint说:

"将此与前面的'var'语句结合使用:var y = document.getElementById("some other id");" 和:

将其与之前的'var'语句相结合.var z = document.getElementsByTagName("some tag name");

重要说明:代码确实有效,但JSLint告诉我修复它.

javascript jslint

8
推荐指数
3
解决办法
406
查看次数

如何使用 wasm-bindgen 将 Vec 作为类型化数组返回?

我有一个Vec我想返回并使用 wasm-bindgen 转换为类型化数组,即将 a 转换Vec<u32>Uint32Array. 根据我的研究,wasm-bindgen 现在无法自动处理这些转换(就像它所做的那样String),而您必须使用js-sys板条箱。然而,我还没有找到如何使用这个板条箱的明确示例。如果可以提供如何使用它的清晰简单的示例,我们将不胜感激。

为了完整起见,如果答案能够解释如何公开返回 a 的函数Vec<u32>以及结构成员,即如何将这些定义转换为可用的内容,那就太好了:

#[wasm_bindgen]
pub fn my_func() -> Vec<u32> {
    inner_func() // returns Vec<u32>
}

#[wasm_bindgen]
pub struct my_struct {
    #[wasm_bindgen(readonly)]
    pub my_vec: Vec<u32>,
}
Run Code Online (Sandbox Code Playgroud)

vector rust typed-arrays wasm-bindgen

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

是什么让密码自动填充栏显示在 Android Chrome 的键盘上方?

大约一周前,我注意到 Android Chrome 在我的应用程序(羊皮纸)键盘上方显示了一个密码自动填充栏。HTML 如下<input>,这绝对不是密码输入:

<input aria-hidden="false" autocapitalize="off" class="Input LineInput" type="text" maxlength="120">
Run Code Online (Sandbox Code Playgroud)

有谁知道什么会让 Chrome 认为应该显示密码自动填充栏,以及可以采取什么措施来阻止这种情况发生?

Android Chrome 中 Parchment 的屏幕截图,显示密码自动填充栏

html android google-chrome ime password-autofill

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

是什么导致 OS X 应用程序无法打开并显示错误“LSOpenURLsWithRole() failed with error -10810”?

我正在研究什么应该是一个非常简单的 OS X 应用程序包。我的操作系统是 10.7.5 版。在这种情况下,应用程序是一个 shell 脚本。

Kekerkruip.app/Contents/Info.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleExecutable</key>
    <string>Kerkerkruip</string>
    <key>CFBundleIconFile</key>
    <string>Kicon.icns</string>
    <key>CFBundleIdentifier</key>
    <string>org.kerkerkruip.Kerkerkruip</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>Kerkerkruip</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <!--<key>CFBundleSignature</key>
    <string>????</string>-->
    <key>CFBundleVersion</key>
    <string>9.0.1</string>
    <key>LSMinimumSystemVersion</key>
    <string>10.4</string>
    <key>NSHumanReadableCopyright</key>
    <string>© 2011-2015 by the Kerkerkruip team</string>
    <!--<key>NSMainNibFile</key>
    <string>MainMenu</string>-->
    <!--<key>NSPrincipalClass</key>
    <string>NSApplication</string>-->
</dict>
</plist>
Run Code Online (Sandbox Code Playgroud)

Kekerkruip.app/Contents/MacOS/Kerkerkruip

#!/usr/bin/env bash
echo "This is a blank script." 1>&2
exit 1
Run Code Online (Sandbox Code Playgroud)

当我尝试打开应用程序时,我收到以下错误消息:

$ open Kerkerkruip.app/
The application cannot be opened because it has an …
Run Code Online (Sandbox Code Playgroud)

macos app-bundle

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

如何让 Phaser 游戏自动填充窗口?

如何让 Phaser 游戏自动填充浏览器窗口?(理想情况下,如果窗口更改大小,则自动重新填充。)我知道有一个ScaleManager 类,但文档不清楚如何使用它。我还找到了其他说明,但它们没有指出在哪里添加他们建议的代码,并且在创建 Game 类后立即运行它似乎没有任何作用。

我目前正在使用本教程中的基本代码,但我愿意完全改变它。

javascript phaser-framework

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

我如何接受带有任何散列算法的 Rust HashMap?

我正在开发一个具有函数的库,我希望能够接受任何散列算法的 HashMap。但是当我尝试使用特定类型的 HashMap(例如 FnvHashMap)调用它时,编译器会抱怨。

pub fn func(map: HashMap<u32, u32>) {}

let map: FnvHashMap<u32, u32> = FnvHashMap::default();
func(map);
Run Code Online (Sandbox Code Playgroud)
error[E0308]: mismatched types
  --> lib.rs:42:10
   |
42 |     func(map);
   |          ^^^ expected struct `RandomState`, found struct `BuildHasherDefault`
   |
   = note: expected struct `HashMap<_, _, RandomState>`
              found struct `HashMap<_, _, BuildHasherDefault<FnvHasher>>`
Run Code Online (Sandbox Code Playgroud)

由于FnvHashMap只是一个类型别名,我认为这不会成为问题。

我确定有办法做到这一点,但我还没有找到。正确的方法是什么?

hashmap rust

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

如何将 Vec&lt;&gt; 传播到 format!() 的参数中?

我有一个Vec字符串(strString),我想将它们用作 的参数format!()。如果...JS 的语法可用,我会这样做:

let data = vec!["A", "B", "C"];
let result = format!("{} says hello to {} but not to {}", ...data);
Run Code Online (Sandbox Code Playgroud)

Rust 中是否有任何替代方案可以使类似的事情成为可能,并且理想情况下不会变得非常冗长?

我认为部分困难在于Vec参数的数量可能不正确,因此如果参数数量错误,我可以接受它会出现恐慌。

formatting string-formatting rust

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

有什么办法可以让 GCC 更快地编译包含数千个案例的 switch 语句吗?

我一直在开发一个生成 C 代码的反编译器(用于Glulx )。在一种模式下,它在一个 switch 语句中输出所有代码(打开程序计数器)。一个中等大小的输入文件会产生近 11,000 个案例,GCC 需要很长时间来编译它 - 在我的计算机上几乎需要 5 分钟,在 Github Actions 上几乎需要 10 分钟。我绘制了 GCC 编译具有不同长度的 switch 语句的文件所需的时间:

案例数量与时间的关系图

正如您所看到的,它是非线性的,每增加 1000 个案例所花费的时间就会比最后 1000 个案例花费的时间更长。

有什么办法可以加快 GCC 编译这个 switch 语句的速度吗?是否有任何我可以插入到代码中的编译器提示,或任何要更改的设置(我一直在 -O0 中对此进行测试和计时)?像这样的 switch 语句,有很多稀疏的情况,会被编译成二叉树,所以我确实考虑过是否可以手动将其分成 1000-2000 个情况的块,但这实际上可能不会使编译更快;毕竟我只是手动执行编译器本身会执行的操作。(我还没有尝试过。)有什么想法吗?

如果相关的话,大多数案例都会失败:在 10898 个案例中,只有 637 个案例最终无条件突破。

编辑:Nate Eldredge 在评论中非常有帮助地指出这是 GCC 8.4 的回归。我现在已经在 GCC 错误跟踪器上报告了这一点


编译结果-ftime-report -ftime-report-details

Time variable                                   usr           sys          wall               GGC
 phase setup                        :   0.00 (  0%)   0.00 (  0%)   0.01 ( …
Run Code Online (Sandbox Code Playgroud)

c optimization gcc compilation switch-statement

5
推荐指数
0
解决办法
546
查看次数