gpt4 book ai didi

coffeescript - CoffeeScript 中的模式匹配

转载 作者:行者123 更新时间:2023-12-03 23:28:55 27 4
gpt4 key购买 nike

除了这些示例之外,我正在努力寻找任何好的 CoffeeScript 和模式匹配示例:

{x, y} = sprite
css = {opacity, fontFamily}

我在 Erlang 中使用过模式匹配,但我正在努力在 coffeescript 中找到一些更高级的示例,这些示例准确地说明了可能的情况。

最佳答案

啊,我以为我认出了这些例子:http://pragprog.com/magazines/2011-05/a-coffeescript-intervention :)

CoffeeScript 的模式匹配(更正式地称为“解构赋值”,以区别于 Erland 和 Scala 中的模式匹配,这是完全不同的)可用于从非常复杂的数据结构中提取信息。这是 official docs 中的一个示例:

{poet: {name, address: [street, city]}} = futurists

这基本上相当于
poet = futurists.poet
name = poet.name
street = poet.address[0]
city = poet.address[1]

但实际上,解构赋值主要用于获取一个或两个对象属性,如您提到的示例中所示,或者用于从数组中获取部分。例如,您可以交换两个变量的值 ab通过写作
[a, b] = [b, a]

并且,使用 splats,您可以获得数组的第一个和最后一个值 arr通过写作
[first, middle..., last] = arr

我希望这会有所帮助。我的书中当然还有更多的例子, CoffeeScript: Accelerated JavaScript Development .

关于coffeescript - CoffeeScript 中的模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7444203/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com