问题列表 - 第318120页

Delphi 调试 - 在评估时我可以显示字段名称,而不仅仅是值吗?

Ctrl当我用+评估变量时F7,使用简单变量就可以了。但是,当我有更复杂的事情时:

Delphi 评估/修改对话框

...有什么方法可以显示与这些值对应的字段名称吗?

delphi debugging expression-evaluation

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

如何在 Haskell 中编写排除某个输入参数的案例

在 Haskell 中我怎么写:

function :: (Int,Int) ....
function Not(0,0) otherparameters = []
Run Code Online (Sandbox Code Playgroud)

即我有一个函数,除了第一个参数是元组 (0,0) 之外,我想为每种情况返回一个空列表

在 Haskell 中怎么可能做到这一点?

我尝试过函数(不是(0,0))但出现以下错误

Parse error in pattern: not
Run Code Online (Sandbox Code Playgroud)

非常感谢

parameters haskell functional-programming tuples

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

Web 浏览器在开发过程中如何运行“.jsx”文件?

我是新来反应“.jsx”文件的,我现在可以运行devbuild测试。

我有一个关于浏览器如何运行“.js”文件的问题。如果项目是build,那么浏览器正在运行“.js”文件,我理解这是因为浏览器可以运行“.js”文件。

但是在期间dev,当我在浏览器的开发模式下检查应用程序源时,它显示在html文件中,有一个“.jsx”文件!

在此输入图像描述

那么怎么可能呢?浏览器可以运行“.jsx”文件吗?或者在开发模式下,开发服务器(如 npm 或 vite)正在做一些秘密的事情?浏览器将源代码显示为“.jsx”,但实际上它正在运行其他文件(被 npm 或 vite 隐藏)?

javascript jsx npm reactjs vite

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

使用 goto 从多个嵌套循环中继续 C

我有一段 C 代码,它在无限 while 循环中运行。在它的内部,它有几个执行某些任务的嵌套循环。但在内部 for 循环内的某个点,出于错误处理的目的,我被迫在外部 while 的下一次迭代中继续执行。

main_loop:
    while (1) {
        //Some functionalities...
        for (j = 0; j < num; j++) {
            for (k = 0; k < num; k++) {
                goto main_loop; // Continue the while loop
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

如果我写continue;,它会继续 for 迭代。我知道我可以添加一些标志来控制所有循环的执行流程并修改这些标志来实现操作continue。但我最终决定用一句话goto来打破内部循环,继续进行while想要的迭代。

由于goto可能导致意大利面条代码的情况,我想知道这个用例是否有goto足够的理由证明是正确的,或者是否有任何其他特定的方法可以在 C 中的类似代码库中继续外循环?

c loops goto

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

为什么空变量的 wc -l 结果为 1

给出以下 bash 代码

grep match_nothing file.txt | wc -l
Run Code Online (Sandbox Code Playgroud)

结果0是正确的。但是下面的代码

LINES=$(grep match_nothing file.txt)
wc -l <<< "$LINES"
Run Code Online (Sandbox Code Playgroud)

将返回 1。为什么会发生这种情况以及我该如何纠正。

更新:

这个问题只是grep作为一个例子。让我困惑的是为什么将输出分配给变量会导致不同的结果。

bash

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

为什么 x&amp;1==0 和 !(x&amp;1) 在 C++ 的 if 语句中不会产生相同的结果?

我在语句中包含这两个条件if来检查是x偶数还是奇数,但似乎在偶数的情况下!(x&1)执行了主体,而没有执行它。ifxx&1==0

考虑到32 或 64 位表示中的1 & 0is和 1 ,我希望两者都给出 0 ,并且如果,比如说,是类似(偶数)的东西,那么它们的按位 和 应该产生 0。因此,我仍然不确定为什么有效。如果我有任何错误的地方,请纠正我。谢谢。0000..01x10010101100!(x&1)

c++ bitwise-operators c++17

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

无法运行 jar 文件(LinkageError、UnsupportedClassVersionError)

我尝试从 Visual Studio Code 中使用 JavaFX 的项目创建一个 jar 文件。当我在 VSCode 中运行该应用程序时,它工作正常,但是当我将其导出到 jar 文件时,它会抛出错误:

错误:加载主类 HelloFX 时发生 LinkageError java.lang.UnsupportedClassVersionError:未为 HelloFX 启用预览功能(类文件版本 65.65535)。尝试使用“--enable-preview”运行

所以我收集这个错误是因为我用比我的JRE更新的版本编译了jar文件..但是当我使用“javac -version”和“java -version”时我得到相同的(21.0.2)(这已经是在我的系统变量 JAVA_HOME 和 Path 变量中设置)..我还发现我需要在 launch.json 文件的 vmArgs 参数中添加 '--enable-preview' (现在全文为: "vmArgs": "-- enable-preview --module-path "C:/Program Files/Java/javafx-sdk-21.0.2/lib" --add-modules javafx.controls,javafx.fxml" 因为我还需要添加 javafx sdk )

我创建了一个新项目来显示我的 java 版本和 javaFX 版本

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class HelloFX extends Application {

    @Override
    public void start(Stage stage) {
        String javaVersion = System.getProperty("java.version");
        String javafxVersion = …
Run Code Online (Sandbox Code Playgroud)

java javafx jar

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

Rust 中的 Result&lt;T, E&gt; 怎么这么快?

如果您去年一直活跃在编程社区中,那么您肯定听到过对 Rust 执行速度和性能以及ResultRust 中出色类型的赞扬。

我可能应该提一下,我不是 Rust 开发人员。尽管如此,或者甚至可能正因为如此,我想知道如果 Rust 使用这个 Result 类型,它怎么会如此高效,因为就我而言,这个类型被实现为所谓的unionC . 它在联合中包含一个错误和一个返回值,其中在给定时间只有一个有效。该类型还包含一个标志,指示结果是否包含错误或值。

如果我计数正确,并且假设错误存储为指针或引用(例如,在 64 位系统上占用内存中的 8 个字节),则联合最少 8 个字节 + 标志一个字节,使得9字节内存。

现在,通过填充,我假设在大多数系统上,这将被重新对齐以占用 12 个字节。相比之下,返回 int(32) 仅分配 4 个字节。因此,使用 Result 分配的内存应该是使用 int 的三倍。

这不是极大地浪费内存吗?我想象在循环中运行它,这会增加很多。

我不太明白为什么有人会声称 Rust 性能超级好,而 Result 却占用了那么多内存?

我知道有一些优化技巧可以减少内存使用量,例如使用带有选项的 NotZeroInt 使编译器可以使用零作为标志,从而避免为标志提供额外的字节。但对于大多数类型来说这并不适用,不是吗?

如果有人有进一步的见解,我很想听听。请注意,我不是 Rust 开发人员,出于好奇而提出这个问题,正如我在尝试移植此功能的库中观察到的那样,内存使用量急剧增加。

当然,RustResult<T, E>Option<T>类型比某些移植库进行了更好的优化,但我无法想象这如何不会影响程序性能。

memory performance union memory-alignment rust

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

打印到div时如何防止文本跳到新行?

我为我的小型 JavaScript 项目编写了一个函数,该函数将文本打印到 div 中,类似于老式游戏中的对话框。我已在下面的代码片段中包含此函数的代码,尽管我认为这对于我的问题并不重要:

当我使用此功能时,当一个单词太长而无法容纳在一行中时,前几个字母通常会打印在当前行中。然后这个词跳到另一行并在那里结束。这会导致相当不愉快的效果。

我的问题是,我可以通过JS或CSS来阻止这种行为吗?有没有办法让函数提前知道新单词不适合当前行,并从头开始在新行中打印它,从而避免跳转?

我尝试了目标 div 的各种自动换行设置,但无济于事。我真的不知道哪个 CSS 属性导致了这种行为。感谢您的帮助。

我想摆脱“演示”或“效果”等词中的跳词。我希望它们从头开始打印到新行。

代码片段 (也在JSFiddle上)

async function echo(targetId, msg) {
  let txtTarget = document.getElementById(targetId);
  for (let i = 0; i < msg.length; i++) {
    txtTarget.innerHTML += msg[i];
    txtTarget.scrollTop = txtTarget.scrollHeight;
    await this.sleep(55);
  }
}

function sleep(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

const myMsg = 'This is a test message. I hope it clearly demonstrates what I\'m asking for. I want to get rid of the …
Run Code Online (Sandbox Code Playgroud)

html javascript css text-formatting

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

解释为什么“负”无符号数相乘会产生正确的结果

我根本无法理解 4294967294 与 4294967292 相乘如何得出 8。

代码示例:

#include <stdio.h>

unsigned int a = -2;
unsigned int b = -4;

int main()
{
    printf( "a     = %u\n"
            "b     = %u\n"
            "a * b = %u\n", 
            a, b, a*b
    );

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

请提供有关这些位发生的情况及其原因的逐步解释。如果可能,请提供证据证明这在 C99 或 C11 标准下是合法的。评论这是否会通过“代码审查”。

c

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