问题标签 [extractor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
819 浏览

scala - 是否可以在 Scala 中将参数隐式转换为提取器(不适用)?

我创建了一个名为 CaseInsensitive 的类,它包装了一个字符串(请参阅实现一个在 Scala 中执行不区分大小写比较的字符串类)。

我创建了一个 case 类,它有一个 CaseInsensitive 类型的成员变量,所以它有一个默认的 unapply 方法,该方法提取一个 CaseInsensitive 类型的变量,但我希望像这样使用它:

此代码无法编译:(在提取器行,而不是构造器行)

但我认为我从 String 到 CaseInsensitive 的隐式转换可以编译,而不是我必须输入更详细的内容:

这是不区分大小写的实现:

0 投票
6 回答
13305 浏览

scala - Scala:当两个项目之一满足某些条件时的模式匹配

我经常编写代码来比较两个对象并根据它们是否相同或不同产生一个值,具体取决于它们的不同之处。

所以我可能会写:

那些第 2 和第 3 案例真的是一样的,所以我试着写:

但没有运气。

我在几个地方遇到这个问题,这只是一个具体的例子,更一般的模式是我有两个东西,我想知道其中一个是否只有一个满足某个谓词,所以我想写像这样的东西:

所以这里的想法是 OneAndOnlyOne 可以配置一个谓词(在这种情况下是 isDefined),你可以在多个地方使用它。

以上根本不起作用,因为它是向后的,谓词需要传递到提取器中而不是返回。

这样的事情怎么样?

和:

但是,这不会编译。

任何人都可以看到使此解决方案起作用的方法吗?或者提出另一种解决方案?我可能让这比现在更复杂:)

0 投票
5 回答
1290 浏览

scala - 提取器是否可以在 case 语句的主体(或任何其他使用提取器的地方)中使用参数进行定制?

基本上,我希望能够构建一个自定义提取器,而不必在使用它之前将其存储在变量中。

这不是我如何使用它的真实示例,它更有可能用于正则表达式或其他一些字符串模式(如构造)的情况下,但希望它解释了我正在寻找的内容:

只做一个自定义提取器并没有太大区别,但是如果您为案例语句构建大量提取器列表,则通过将所有提取器与其用法分开可能会使事情变得更难阅读。

我希望答案是否定的,你不能这样做,但我想我会先问问周围的人:D

0 投票
1 回答
260 浏览

scala - Scala 2.8.0.RC2 编译器关于模式匹配语句的问题?

为什么以下模块无法在 Scala 2.8.RC[1,2] 上编译?

更新 1

遵循答案中的建议后,下一个问题是编译持续时间过长。有趣的是,如果我删除上面的两个案例语句,我会得到以下编译器错误:

0 投票
1 回答
3045 浏览

list - 了解列表上的模式匹配

我最近一直在玩提取器,想知道列表提取器是如何工作的,尤其是这个:

Ok :: 在模式中使用,所以我猜编译器现在在 ::-Object 中查找 unapply 方法。所以尝试了这个:

很好用。但是,这不会:

虽然这样做:

其实我现在有点疑惑。编译器如何在这里选择正确的 unapply 实现。

0 投票
5 回答
4174 浏览

scala - Scala,部分函数

有没有办法通过语句创建一个PartialFunction例外?case

我很好奇,因为我想表达以下内容(scala pseudo ahead!)......

...作为一个部分功能,并做

似乎多余,因为我创建了BigInt两次。

0 投票
5 回答
347 浏览

ruby - 有没有比使用自定义 case 语句更实用的方法来用 Ruby 编写它?

想象一下下面的代码:

我本可以选择任何其他类,我只是以它们为例。我非常喜欢 Scalamatch和提取器,我认为这可能是在 Ruby 中编写相同内容的好方法。有没有更好的方法来编写上述内容而不必实例化新对象以便我可以调用他们的===方法?

只是为了避免不必要的帖子,是的,我知道我可以这样做:

0 投票
1 回答
2073 浏览

scala - 嵌套的 Scala 匹配器为什么 Some(Some(1),1) 不能匹配?

嵌套匹配似乎不起作用,这是一个奇怪的限制。

行为示例如下:

这有效:

现在,我只是一个笨蛋还是有更好的方法来实现这一点?

0 投票
1 回答
2669 浏览

xpath - xpath 查询 Jmeter 的 xpath 提取器

有人可以向我提供用于从以下响应中检索 sessionId 值的 xml 查询:

我尝试使用 /ns2:createUserResponse/@sessionId 并且似乎没有返回任何内容。我想在 jmeter 的 XPATH 提取器中使用这个查询。我的要求:我需要使用 xpath 提取器检索 sessionId 值并在后续请求中使用该值。

提前感谢您的帮助

0 投票
1 回答
710 浏览

scala - 通过摆脱类型参数来修复匹配子句警告

我想实现以下详尽的匹配,但我不知道要删除类型参数,因此无法删除它被删除的警告:

在我的具体情况下,case n匹配的主体非常大,我不想添加更多的匹配子句,以便我匹配QLeafand QNode(因为在我的具体情况下,有两个以上的子类,它们也是可变的,因此应该'不是案例类)。解析的类型必须是QNonEmpty[V],不能是QNonEmpty[_]

我可以创建一个QNonEmpty同时匹配QLeaf和的提取器QNode吗?