问题列表 - 第318000页

在 macOS 上读取文件会出现 FileNotFound,即使文件存在(并且具有权限)

我有一个 javafx 应用程序,允许选择图像并显示它,或者让您选择一个文件夹,读取其中的图像并显示它们。无论哪种情况,它在 Windows 上都可以正常工作,但在 macOS 上运行时,它就不起作用并抛出 FileNotFoundException. 这是读取它的代码:

String path = Paths.get(pathToFile).toUri().toString()
Run Code Online (Sandbox Code Playgroud)

那条线给了我路径

file:///Users/userName/Downloads/untitled%20folder/image.png

但随后例外说

file:/Users/username/Downloads/untitled%20folder/image.png (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

我尝试删除文件夹中的空间,为所有文件授予 0777 权限。它只是不读取它。
我想补充一点,文件路径是从 javaFX 文件选择器获取的,而不是手动放置在那里。

完整的代码差不多是这样的:

file:/Users/username/Downloads/untitled%20folder/image.png (No such file or directory)
Run Code Online (Sandbox Code Playgroud)

方法中抛出了异常readMetadata(),但已经file.exists()返回 false。

java macos javafx file macos-sonoma

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

Haskell 中的阶乘创建

我最近在读了一篇论文,其中阶乘的定义如下:

\n
fac 0 = 1\nfac (n + 1) = (n + 1) \xe2\x88\x97 fac n\n
Run Code Online (Sandbox Code Playgroud)\n

我从论文中实现了如下程序:

\n
fac :: Integer -> Integer\nfac 0 = 1\nfac (n + 1) = (n + 1) \xe2\x88\x97 fac n\n
Run Code Online (Sandbox Code Playgroud)\n

然后我尝试使用Num a作为替代方案,认为类型签名可能是问题所在。

\n
fac :: Num a => a -> a\nfac 0 = 1\nfac (n + 1) = (n + 1) \xe2\x88\x97 fac n\n
Run Code Online (Sandbox Code Playgroud)\n

但是当我尝试使用 GHCi 编译它时,对于这两个问题我都会收到以下错误:

\n
Factorial.hs:5:6: error: Parse error in pattern: n + 1\n …
Run Code Online (Sandbox Code Playgroud)

haskell factorial

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

haskell 中的可为空列表参数

我是 Haskell 的新手,我试图实现一个接受“null”参数的 head 函数版本

\n
safeHead :: Maybe [a] -> Maybe b\nsafeHead (Just []) = Nothing\nsafeHead Nothing = Nothing\nsafeHead (Just (x:xs)) = Just x\n
Run Code Online (Sandbox Code Playgroud)\n

从概念上讲,它对我来说看起来不错。但类型系统不接受最新的方程。\n为什么?

\n
    \xe2\x80\xa2 Couldn\'t match expected type \xe2\x80\x98b\xe2\x80\x99 with actual type \xe2\x80\x98a\xe2\x80\x99\n      \xe2\x80\x98a\xe2\x80\x99 is a rigid type variable bound by\n        the type signature for:\n          safeHead :: forall a b. Maybe [a] -> Maybe b\n        at ch04.hs:2:1-32\n      \xe2\x80\x98b\xe2\x80\x99 is a rigid type variable bound by\n        the type signature for:\n          safeHead :: forall a b. Maybe …
Run Code Online (Sandbox Code Playgroud)

haskell

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

Github Actions 在 ARM64 上构建 Docker 映像 (macos-latest-xlarge)

创建了一个 github 操作,用于为arm64平台构建docker镜像以快速构建它(无模拟)我使用macos-latest-xlargearm64机器

github操作代码示例如下:

name: Mac OS Issue
on:
  workflow_dispatch:

jobs:
  macos_issue:
    name: Check Issue
    runs-on: macos-latest-xlarge
    steps:
      - name: Check Issue
        id: check_issue
        run: |
          set +e
          brew install docker docker-buildx
          docker --version
          echo "FROM ubuntu:latest" > Dockerfile
          docker build --no-cache -t test .
Run Code Online (Sandbox Code Playgroud)

运行时失败并出现以下错误

ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
Run Code Online (Sandbox Code Playgroud)

我尝试使用 macos-latest 进行模拟,但速度非常慢。所以一定是arm64机器

macos github docker dockerfile github-actions

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

解决 Haskell 堆栈溢出

目前正在制作2023 年代码降临第 8 天的第二部分。我正在尝试以下解决方案:

main = readFile "8.txt" >>= print . proc . lines

proc (ds:_:xs) = step 1 ds m as ds where
  m = (foldl' parse) M.empty xs
  as = map (\x -> ((m ! x), False)) $ filter (\x -> (last x) == 'A') $ M.keys m

parse m s = M.insert n (l,r) m where
  (n, ns) = splitAt 3 s
  (l, ls) = splitAt 3 $ drop 4 ns
  r = take 3 …
Run Code Online (Sandbox Code Playgroud)

stack-overflow haskell

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

函数参数对象是临时对象吗?

[class.temporary]/7中当前的 C++ 标准草案包含短语

除函数参数对象之外的临时对象

我的印象是函数参数对象不是临时对象。然而,这个短语是最近才添加的。那么我是否错误或误解了上下文?

c++ language-lawyer temporary-objects

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

fetchSignInMethodsForEmail 是已弃用的替代方案吗?

我正在尝试检查用户是否已使用他们的电子邮件注册我正在开发的应用程序。我正在使用 firebase 13.0.2。auth.fetchSignInMethodsForEmail 已弃用?还有其他方法可以检查电子邮件是否已被使用吗?

java android firebase firebase-authentication

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

当 UTF-8 压入堆栈时,是否使用与 UTF-32 相同的内存量?

问题具体在于 UTF-8 在堆栈上占用了多少空间,因此在内存 (RAM) 中占用了多少空间,例如:它与 UTF-32 相同吗?因此,这与 UTF-8 序列化为文件时占用多少磁盘空间无关。如果这种消除歧义的尝试侮辱了你的智力,我很抱歉。

  • 堆栈始终位于 RAM 中。所以我放入堆栈的任何内容都会占用 RAM 中的空间。

/sf/ask/1080337331/#:~:text=Stack%20is%20always%20in%20RAM,at%20the%20top%20of%20stack。

  • 堆栈在 x86 上至少为 32 位,在 x86_64 上至少为 64 位。因此,无论我将一字节字符还是三字节字符压入堆栈,它们都至少占用内存中的 32 位。我想这就是 UTF-32 所发生的情况,它在堆栈上占用 32 位。

当我不指定操作数大小时,push 指令将多少字节压入堆栈?

那么,当他们说 UTF-32 比 UTF-8 占用更多内存时,他们是什么意思呢?

编辑

UTF-32 使用更多内存,但当今的计算机配备了大量内存。节省内存的压力消失了,简单快速地处理 UTF-32 字符串超过了增加的内存使用量。与任何试图通过检查字符串来节省内存的方法相比,使用 UTF-32 可以使程序运行得更快。

https://seed7.sourceforge.net/faq.htm#unicode

unicode x86 assembly utf-8 nasm

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

为什么在 C# 中向可执行文件传递参数时没有 argc?

例如,如果我们将命令行参数传递给 C 可执行文件,它将传递参数计数 ( argc) 和参数数组 ( argv[])。但在 C# 中,如果我们将参数传递给可执行文件,它将仅传递参数数组 ( args[]),而不传递参数计数 ( argc)。

信息是否以相同的方式发送到Main()函数,然后由编程语言解析?或者操作系统正在做这一切?

c c# command-line command-line-arguments

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

如何在 C++ 预处理器中扩展布尔表达式?

以下代码不扩展布尔表达式,另请参见https://godbolt.org/z/YqbazT3eo:

#define EXPAND(x) x

#define SWITCH false
EXPAND(SWITCH || defined(_DEBUG))
Run Code Online (Sandbox Code Playgroud)

我该如何正确地做才能做到

#define FLAG EXPAND(SWITCH || defined(_DEBUG))
Run Code Online (Sandbox Code Playgroud)

(或类似)并且FLAG不会依赖于以后的更改SWITCH?

c++ macros preprocessor expansion

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