小编mhe*_*rzl的帖子

在spacemacs中,仅在名称与模式B匹配的文件中搜索模式A的出现次数

在spacemacs中,我经常通过SPC-*或在项目中搜索模式SPC-/。这些命令允许我输入要搜索的模式,例如我想跳转到其定义的函数的名称。

有时候,我想,以限制搜索仅特定类型的文件,例如只搜索*.elm文件,并忽略所有其他(*.hs*.sql,等)。

如何为模式搜索指定文件名? 即,如何仅在名称与模式B匹配的文件中搜索模式A?

我想知道是否可以在搜索查询中键入一些特殊键来完成此操作。

spacemacs

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

错误:scalac:加载包时出错,Scala签名包版本错误;预期 5.0,在 package.class 中发现 5.2

我有一个 java & scala 项目,我正在为其更新 jars。

我换掉akka-camel_2.11.jar并用 jar 替换它akka-camel_2.13-2.5.25.jar,现在我在尝试在 Intellij 中构建时看到标题中显示的错误。

是什么scala signature?什么是package.class?我该如何编辑这些以便我的项目可以使用这个更新的 jar 来构建?

scala intellij-idea

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

swiftui - 如何避免“无法同时满足约束”错误?

我正在尝试将此问题的已接受答案中的代码应用于如何使 SwiftUI TextField 成为第一响应者。这是从该答案复制的代码,我尝试在 xcode 中使用它:

struct CustomTextField: UIViewRepresentable {

    class Coordinator: NSObject, UITextFieldDelegate {

        @Binding var text: String
        var didBecomeFirstResponder = false

        init(text: Binding<String>) {
            _text = text
        }

        func textFieldDidChangeSelection(_ textField: UITextField) {
            text = textField.text ?? ""
        }

    }

    @Binding var text: String
    var isFirstResponder: Bool = false

    func makeUIView(context: UIViewRepresentableContext<CustomTextField>) -> UITextField {
        let textField = UITextField(frame: .zero)
        textField.delegate = context.coordinator
        return textField
    }

    func makeCoordinator() -> CustomTextField.Coordinator {
        return Coordinator(text: $text)
    }

    func …
Run Code Online (Sandbox Code Playgroud)

xcode uikit swift swiftui

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

Intellij 不运行测试

将我的项目导入 Intellij 并使其成功构建后,我正在尝试运行我的一些项目测试。我导航到测试文件并选择运行 -> 运行。但是,这不会运行我的测试,只是打开一个小的“编辑配置”窗口,如所附照片所示。

在此处输入图片说明

而且,当我按照提示选择“编辑配置”时,找不到JUnit。窗口如下所示。

在此处输入图片说明

我需要做什么来运行测试?

java intellij-idea

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

没有数据构造函数的数据声明.可以实例化吗?为什么编译?

读了我的一本Haskell书,我看到了这句话:

数据声明总是创建一个新的类型构造函数,但可能会也可能不会创建新的数据构造函数.

一个人应该能够声明没有数据构造函数的数据类型,这听起来很奇怪,因为似乎人们永远无法实例化该类型.所以我试了一下.以下数据声明编译时没有错误.

data B = String
Run Code Online (Sandbox Code Playgroud)

如何创建这种类型的实例?可能吗?我似乎无法找到办法.

我想可能会自动创建一个名称与类型构造函数匹配的数据构造函数,但似乎不是这种情况,如尝试B在范围内使用声明作为数据构造函数所导致的错误所示.

Prelude> data B = String deriving Show
Prelude> B

<interactive>:129:1: error: Data constructor not in scope: B
Run Code Online (Sandbox Code Playgroud)

如果永远不能实例化类型,为什么允许编译此数据声明? 尽管没有已知的实际应用,是否仅仅出于某种正式理由允许?


我也想知道我的书中关于没有构造函数的数据类型的陈述是否可能是指通过typenewtype关键字而不是by 来声明的类型data.

  • 在这种type情况下,类型同义词显然不使用数据构造函数,如下所示.

    Prelude> type B = String
    Prelude>
    
    Run Code Online (Sandbox Code Playgroud)

    诸如此类型的同义词可以由它们被设置为的类型的构造函数实例化.但我不相信这是我的书所指的那样,因为类型同义词似乎没有像现有类型定义新别名那样声明新数据类型.

  • 在这种newtype情况下,似乎无法创建没有数据构造函数的类型,如以下错误所示.

    Prelude> newtype B = String
    
    <interactive>:132:13: error:
        • The constructor of a newtype must have exactly one field
            but ‘String’ has none
        • In …
    Run Code Online (Sandbox Code Playgroud)

haskell types

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

是否可以在HUnit中断言错误情况?

如果我有一个函数会导致某个输入出现错误,是否可以编写一个测试来验证该输入是否发生了错误?

我在HUnit中找不到此“断言错误”功能。它可以在HUnit或其他测试包中使用吗?

error-handling haskell hunit

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

"实例[安全]"在ghci":info"输出中的含义是什么?

ghci,我声明一个数据类型如下.

data Example = MakeExample deriving Show
Run Code Online (Sandbox Code Playgroud)

然后,当我调用:info Example以查看派生Show实例被识别时,我得到以下输出.

> :i Example
data Example = MakeExample      -- Defined at <interactive>:17:1
instance [safe] Show Example -- Defined at <interactive>:17:37
Run Code Online (Sandbox Code Playgroud)

Show实例被认为是预期的.但是,我不明白为什么[safe]会这样.

相比之下,[safe]当我打电话不会出现:infoBool.

> :i Bool
data Bool = False | True        -- Defined in ‘GHC.Types’
instance Bounded Bool -- Defined in ‘GHC.Enum’
instance Enum Bool -- Defined in ‘GHC.Enum’
instance Eq Bool -- Defined in ‘GHC.Classes’ …
Run Code Online (Sandbox Code Playgroud)

haskell ghci

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

如何将 SFZ 合成器格式转换为 (soundfont) SF2?

我创建了一个sfz文件并编译了相应的仪器样本文件树。

是否有软件可以将此sfz文件树转换为sf2声音字体文件?

原因是:我可以轻松创建sfz文件树,并轻松使用该sf2文件。然而,创建sf2需要特殊的软件并播放sfz似乎不受支持timidity

soundfont

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

nix 表达式“&lt;nixpkgs&gt;”是什么?

查询hackage包时,手册建议使用命令:

$ nix-env -f "<nixpkgs>" -qaP -A haskellPackages
Run Code Online (Sandbox Code Playgroud)

因此,在搜索 Haskell 包时,我们将“活动 Nix 表达式”定义为“<nixpkgs>”。

这个表达式“<nixpkgs>”是什么意思?它在哪里定义?我没有该名称的频道,也没有在我的/etc/nixos/configuration.nix文件中看到它出现。

nixos nix nixpkgs

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

Haskell 的“do”表示法总是涉及 monad 吗?

我一直认为 Haskell 的do-notation 只是 monad 组合的糖 ( >>=)。然后我遇到了它的这个实例,并且不确定这里使用的是什么 monad,或者是否有一个:

rollDieThreeTimes :: (Die, Die, Die)
rollDieThreeTimes = do
  let s = mkStdGen 0
      (d1, s1) = randomR (1, 6) s
      (d2, s2) = randomR (1, 6) s1
      (d3, _) = randomR (1, 6) s2
  (intToDie d1, intToDie d2, intToDie d3)

intToDie :: Int -> Die
...
Run Code Online (Sandbox Code Playgroud)

我的问题:

  • 这个例子的-notation 背后是否还有一个 monad do
  • 如果没有,是否有某种特殊形式的do- 表示法允许这种let没有 monad 的 - 语句格式?
  • 如果有一个单子,那是哪一个呢?并且,如何将这种do- 符号转换为>>=形式?

haskell

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