小编Max*_*ber的帖子

为什么我的scalatest测试不会编译?(scala.MatchError)

我的项目中有所有代码:

package fileSearcher

import org.scalatest.FlatSpec

class FilterCheckerTests extends org.scalatest.FlatSpec {
  "Foo" should
  "not do terrible things" in {

    assert(1 == 1)
  }  
}
Run Code Online (Sandbox Code Playgroud)

日食

sbt test与scala.MatchError崩溃(下面有完整的详细信息).

我究竟做错了什么?

[info] Compiling 1 Scala source to C:\scala\course\FileSearcher\target\scala-2.1
0\test-classes...
[error]
[error]      while compiling: C:\scala\course\FileSearcher\src\test\scala\fileSe
archer\FilterCheckerTests.scala
[error]         during phase: typer
[error]      library version: version 2.10.4
[error]     compiler version: version 2.10.4
[error]   reconstructed args: -classpath C:\scala\course\FileSearcher\target\sca
la-2.10\test-classes;C:\scala\course\FileSearcher\target\scala-2.10\classes;C:\U
sers\Max\.ivy2\cache\org.scalatest\scalatest_2.11\bundles\scalatest_2.11-2.2.4.j
ar;C:\Users\Max\.ivy2\cache\org.scala-lang\scala-reflect\jars\scala-reflect-2.11
.2.jar;C:\Users\Max\.ivy2\cache\org.scala-lang.modules\scala-xml_2.11\bundles\sc
ala-xml_2.11-1.0.2.jar;C:\Users\Max\.ivy2\cache\com.novocode\junit-interface\jar
s\junit-interface-0.11.jar;C:\Users\Max\.ivy2\cache\junit\junit\jars\junit-4.11.
jar;C:\Users\Max\.ivy2\cache\org.hamcrest\hamcrest-core\jars\hamcrest-core-1.3.j
ar;C:\Users\Max\.ivy2\cache\org.scala-sbt\test-interface\jars\test-interface-1.0
.jar -bootclasspath C:\Program Files\Java\jdk1.8.0_20\jre\lib\resources.jar;C:\P
rogram Files\Java\jdk1.8.0_20\jre\lib\rt.jar;C:\Program Files\Java\jdk1.8.0_20\j
re\lib\sunrsasign.jar;C:\Program Files\Java\jdk1.8.0_20\jre\lib\jsse.jar;C:\Prog
ram Files\Java\jdk1.8.0_20\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_20\jre
\lib\charsets.jar;C:\Program …
Run Code Online (Sandbox Code Playgroud)

scala sbt scalatest

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

为什么 JavaScript 有原语的盒装版本?

为什么 JavaScript 有原语的盒装版本?

就像,我很擅长truefalse,为什么我需要

new Boolean(true) === new Boolean(true) // false
Run Code Online (Sandbox Code Playgroud)

我知道像 Java 和 Objective-C 这样的语言有一些封闭的东西,因为你不能将基元放入与非基元相同的数据结构中。但 JS 总是允许混合事物的数组[1, 2, {}, ""],并且任何事物都可以作为对象中键的值。

我并不是在寻求理由:大写的“B”当然Boolean是无稽之谈。但我真的很好奇这是怎么发生的。当时肯定是有原因的。

javascript

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

当不支持文件类型时,如何在 VS Code 中获得 JSONL 的语法高亮支持 - “JSON-Lines”?

因此,我有一些使用文件扩展名的JSONL(“JSON 行”)文件.jsonl;我想知道当编辑器尚不支持该文件类型时,是否有一种方法可以让我在VS Code 中获得 JSONL 的支持——“JSON-Lines”?

我在想,也许有一种方法可以将支持添加到VS Code 中

有人建议我搜索一个扩展,它为JSON Lines ( .jsonl) 文件的编辑器添加支持(根据推荐),但令人沮丧的是,VSCode 没有推荐 JSONL 扩展。

我还在 Marketplace 中搜索了“JSON Lines”和“ .jsonl”,再一次,搜索没有返回任何有用的结果。

visual-studio-code jsonlines

6
推荐指数
2
解决办法
394
查看次数

角度2变化组件选择器

角2个文档说,像这样定义一个组件,使用魔法字符串选择名称:

import { Component } from '@angular/core';
@Component({
  selector: 'card',
  template: `
    <div class="card">{{title}}</card>
    `
})
export class Card {
  title = 'Card Title';
}
Run Code Online (Sandbox Code Playgroud)

如果我这样做,我是否坚持<card>将来作为使用此组件的唯一方法?应用程序是否只有一种带有此选择器的组件?例如,是否可以使用<card>第三方库,并使用我自己的<card>

这在React中是微不足道的,因为组件名称只是变量.

import OtherCard from 'card'
const Card = title => <div className="card">{title}</div>
const Composable = title => <OtherCard><Card title={title} /></OtherCard>
Run Code Online (Sandbox Code Playgroud)

我问的原因之一是我可以知道是否在Angular 1和Objective-C中命名Angular 2组件选择器:

selector: 'initech-card'

components angular

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

Chrome不以内嵌脚本标签请求源地图

Chrome不会为HTML内联包含的脚本加载源地图。

<script type="text/javascript">!function t(n,e,r){ /* more code */}()
//# sourceMappingURL=public/js/edit-before.js.map
</script></body>
Run Code Online (Sandbox Code Playgroud)

我知道Chrome不会请求源地图,因为我将服务器设置为记录所有请求,并且还检查了Chrome网络控制台。我验证了源映射的路径是正确的,浏览器没有找到它。

Chrome是否应在script代码中加载JS的源映射?如果是这样,我在做什么错?

javascript browser web source-maps gulp-sourcemaps

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

如何在 Pijul 中查看补丁?

Pijul中我怎样才能看到补丁中发生了什么?我正在寻找类似的东西git diff <commit> <commit>^

我尝试过pijul diff,但它似乎只适用于分支机构。我也无法pijul log显示补丁的任何细节。

我怀疑我正在寻找的东西是可能的,因为单击Nest中的补丁会显示差异,并且 libpijul 中有补丁漂亮打印,其中包括更改列表。

pijul

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

TypeScript:为只有一个键的对象键入(不允许联合类型作为键)

我希望定义一个type可以只有一个键的对象。

这是一个尝试:

type OneKey<K extends string> = Record<K, any>
Run Code Online (Sandbox Code Playgroud)

不幸的是,这并不完全有效,因为变量可以具有联合类型:

type OneKey<K extends string> = Record<K, any>

declare function create<
    K extends string,
    T extends OneKey<K>[K]
>(s: K): OneKey<K>

const a = "a";
const res = create(a);


// Good
const check: typeof res = { a: 1, b: 2 }
//                                ~~ Error, object may only specify known properties

declare const many: "a" | "b";
const res2 = create(many);


// **Bad**: I only want one key
const check2: …
Run Code Online (Sandbox Code Playgroud)

typescript union-types

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

Gallina 是否也像 Agda 一样有洞?

在 Coq 中证明时,能够一次证明一小部分并让 Coq 帮助跟踪义务是件好事。

Theorem ModusPonens: forall (A B : Prop), ((A -> B) /\ A) -> B.
Proof.
  intros A B [H1 H2].
  apply H1.
Run Code Online (Sandbox Code Playgroud)

此时我可以看到证明状态以了解完成证明需要什么:

context
H2: B
------
goal: B
Run Code Online (Sandbox Code Playgroud)

但是在编写 Gallina 时,我们是否必须一次性解决整个问题,或者创建许多小辅助函数?我希望能够使用问号来询问 Coq 它在寻找什么:

Definition ModusPonens' := fun (A B : Prop) (H : (A -> B) /\ A) =>
  match H with
    | conj H1 H2 => H1 {?} (* hole of type B *)
  end.
Run Code Online (Sandbox Code Playgroud)

看起来 Coq 确实应该能够做到这一点,因为我什至可以将 ltac 放在那里,Coq 会找到它需要的东西:

Definition ModusPonens' …
Run Code Online (Sandbox Code Playgroud)

coq

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

ES `Map` 类型的 `keyof` 等价于什么?

给定一个 TypeScript Map,很容易找出键的类型 - 只需使用keyof

// keyof
type MyRec = Record<string, number>;
type MyRecKey = keyof MyRec; // works
Run Code Online (Sandbox Code Playgroud)

keyoffor相当于什么Map?TS 标准库中有内置的东西吗?

// MapKeyOf ?
type MyMap = Map<string, number>;
type MyMapKey = MapKeyOf<MyMap>; // is there a built-in way to do this?
Run Code Online (Sandbox Code Playgroud)

由于 TypeScript 出色的表现力,这可以在用户空间中表达,但我不想复制/粘贴它或可能是一个type-utils文件:

更新:这个问题以前有一个更复杂的用户空间定义

type KeyOfMap<M extends Map<unknown, unknown>> = M extends Map<infer K, unknown> ? K : never
Run Code Online (Sandbox Code Playgroud)

该解决方案来自@TitianCernicova-Dragomir 和@kaya3

typescript

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

什么是“类型优先”的 Flow 架构?

一个博客帖子由流动小组描述了“重新架构”的流程叫“类型优先”。据我所知,唯一的描述是来自博客文章的引用:

“...它利用文件边界处的完整类型注释来执行更好(更可并行化和更少冗余)的单独编译。”

有没有关于这个的更多细节?具体来说,我想知道这些完整的注释是什么:对源代码和声明文件的新限制是什么?

例如,这是否允许?

import { func } from "./other-module";
export const myNumber = func(num1, num2);
Run Code Online (Sandbox Code Playgroud)

这在 TypeScript 中是有问题的,因为myNumber如果不知道func. Flow 的“类型优先”重新架构是否需要用户编写:

import { func } from "./other-module";
export const myNumber: number = func(num1, num2);
Run Code Online (Sandbox Code Playgroud)

这只是我的一个具体问题。我正在寻找的是更多信息和指向解释重新架构的所有已知影响的文档的链接。

javascript flowtype

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