小编Fra*_* C.的帖子

函数名中的问号

我只是在查看 clojure 并在示例页面上找到了以下代码行

(filter even? [1 2 3])
Run Code Online (Sandbox Code Playgroud)

虽然这是相当标准的代码,但令我惊讶的是,他们使用了“?” 使谓词更容易阅读。

是否也可以让 haskell 接受它作为函数名称?到目前为止,我发现https://wiki.haskell.org/Unicode-symbols不幸的是不包含“?”。

haskell

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

用未知的钥匙解构地图的地图

我有以下作为一个例子:

(def _t2 {:oxnard {:value-type "string" :rec-name "foo"}})
Run Code Online (Sandbox Code Playgroud)

其中:oxnard动态和未知的先验功能,包含的地图由众所周知的密钥名称组成(例如:value-type:rec-name).

我试图在不知道外部map关键字的情况下编写具有解构的函数,例如:

(defn if-foo? [ignoremapfirstkey & 
  {:keys [value-type rec-name]}] 
  (= rec-name "foo"))
Run Code Online (Sandbox Code Playgroud)

或类似的; 但是,我似乎无法绕过外部密钥名称而不为人所知.

clojure

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

如何创建Makefile以在C中编译单个任意文件名

我是C编程的新手,我想知道在Makefile中编写什么来编译单个.c文件.

说我有一个多.c一个文件夹中的文件),即sample1.c,sample2.c,sample3.c等等),我只是想编一个特定的文件名.我想只键入" make sample2",它将编译并调用一个输出sample2(几乎.c保持名称).

我已经阅读了几个解决方案,有人可能会提出这个建议,但没有成功.

SRC =  $(shell find . -type f -name \*.c)

executable: $(SRC:.c=.o)
    gcc -std=gnu99  $@ $^ 
Run Code Online (Sandbox Code Playgroud)

我需要做些什么来使它工作?

c gcc makefile gnu-make

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

Clojure 如何编译在 REPL 中运行的代码?

诚实的菜鸟问题。根据 Russ Olsen 的Getting Clojure,我知道以下内容:

(1) Clojure代码在运行前被编译为JVM字节码。

(2) Clojure 代码可以在 REPL 中运行,并且几乎可以立即得到反馈,该 REPL 使用函数 (read) 和 (eval) 或等效函数。

因此,Clojure 代码到 JVM 字节码的编译似乎必须在 REPL 期间的某个时刻发生,大概是在(读取)阶段或此后不久。

但这是一个模糊的心理画面,我想澄清一下。

例如,最好知道 REPL 中的代码何时实际被编译、编译创建的数据如何存储在 RAM中然后由 (eval) 访问,以及其间或此后发生的任何重要步骤。

换句话说,我想更详细地了解香肠的真正制作方法:

Clojure 如何编译在 REPL 中运行的代码?

(加分点:这与 Clojure 从非 REPL 源(例如 Leiningen 项目)编译代码时的做法有何不同?)

compilation clojure read-eval-print-loop

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

如何理解NASM中的Lookup表?

我正在阅读杰夫·丹特曼(Jeff Duntemann)令人惊叹的装配书,我几天坚持使用一段代码.

我们的想法是使用内存引用"查找"Digits表中的一个字符:" 任何人都可以剖析下面的代码并用愚蠢的细节解释它吗?

 mov al,byte [Digits+eax]   ; Look up the char equivalent of nibble

 Digits:    db "0123456789ABCDEF"
Run Code Online (Sandbox Code Playgroud)

请参阅以下完整源代码:

SECTION .bss            ; Section containing uninitialized data

    BUFFLEN equ 16      ; We read the file 16 bytes at a time
    Buff:   resb BUFFLEN    ; Text buffer itself

SECTION .data           ; Section containing initialised data

    HexStr: db " 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00",10
    HEXLEN equ $-HexStr     
    Digits: db "0123456789ABCDEF"

SECTION .text …
Run Code Online (Sandbox Code Playgroud)

assembly nasm

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

在程序集中初始化字符串数组

我想在初始化的数据部分创建一个包含 5 个字符串的数据数组。每个字符串正好有 4 个字符。每个字符串都有一些初始数据,例如第一个字符串的“abcd”,第二个字符串的“efgh”等等。\0任何字符串都不需要空字符。如何用汇编语言初始化字符串数组?

这是我目前能想到的:

string    db    "abcdefghijklmnopqrst"
Run Code Online (Sandbox Code Playgroud)

是否有一些干净的语法或方法?

我正在使用nasm64 位代码。

arrays assembly x86-64 nasm

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

从 rust wasm32-wasi 调用 console.log,无需 ssvm/ssvmup

我想使用 console.log 的消息进行调试。

我们有一个 rust wasm32-wasi 函数从在 Nodejs 中运行的 JavaScript 调用。由于其他限制,我们无法使用 ssvm/ssvmup。

我们可以做些什么来在控制台中查看来自 wasm 代码的消息吗?

node.js rust wasi

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

为什么`let`未在规范中指定为保留关键字

我期待找到这两个constlet保留的关键字.我发现只有 const,但没有let:

Keyword::
    await
    break
    case catch class const continue   <---- `const` here
    debugger default delete do
    else export extends
    finally for function
    if import in instanceof
    new
    return
    superswitch
    this throw try typeof
    var void
    while with
    yield
Run Code Online (Sandbox Code Playgroud)

let关键字吗?如果没有,为什么?

javascript ecmascript-6

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