腾讯云
开发者社区
文档
建议反馈
控制台
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
登录/注册
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(8590)
视频
沙龙
4
回答
如
何在
JavaScript
中
表示
代数
数据类型
和
模式
匹配
javascript
、
typescript
、
object
、
pattern-matching
、
ocaml
在像OCaml这样的函数式语言中,我们有
模式
匹配
。例如,我想在我的网站上记录用户的操作。一个动作可以是1)访问一个网页,2)删除一个项目,3)检查另一个用户的个人资料,等等。在OCaml
中
,我们可以这样写: type Action = | DeletePost of int(* an integer post id *) | ViewUser of string (* a username *) 但是,我不确定如
何在
浏览 32
提问于2017-11-29
得票数 3
回答已采纳
2
回答
为什么我们需要“
代数
数据类型
”?
scala
、
haskell
、
algebraic-data-types
我读过一些关于
代数
数据类型
的解释: 起初,我认为
代数
数据类型
只是为了简单地定义某些类型,我们可以通过
模式
匹配
来
匹配
它们。但在阅读了这些文章后,我发现“
模式
匹配
”甚至没有提到,内容看起来很有趣,但比我预期的要复杂得多。因此,我有一些问题(在这些文章
中
没有得到回答): 为什么我们需要它,比如说,在Haskell还是Scala?
浏览 2
提问于2015-08-01
得票数 13
5
回答
函数式语言之外的
代数
数据类型
?
language-agnostic
、
programming-languages
、
functional-programming
、
algebraic-data-types
哪些不只是函数式的语言有
代数
数据类型
(或类似的
数据类型
)
和
模式
匹配
?我对多范式语言也很感兴趣--我知道Ocaml
和
F#是添加了OO的ML方言,所以它们继承了ML的
代数
数据类型
。可以使用enums
和
unions (就像C
中
的C++,...more?)来模拟它们,但是这很快就变得麻烦
和
丑陋,如果您在
模式
匹配
中
忘记了大小写,或者(更可
浏览 0
提问于2010-10-19
得票数 15
回答已采纳
1
回答
理解函数式编程
中
的递归
代数
类型
haskell
、
recursion
、
functional-programming
嘿,我在理解递归
代数
类型是如何工作以及如何准确使用它们时遇到了一些问题。例如,以下面的RAT定义为自然数:我们在这里使用RAT,因为值集需要是无穷大的,我知道原则是用前一个值来
表示
每个新值,但我不明白这是如何形成自然数的
浏览 3
提问于2012-03-31
得票数 4
回答已采纳
1
回答
Haskell
中
递归
和
/积类型的设计方案
haskell
在
中
:“一般的
代数
数据类型
可能是乘积类型的递归
和
类型。”LiteralsSumsProducts 编辑:在回应一条要求明确定义,然后用不动点方程
表示
的评论时,我认为这是这样的
浏览 20
提问于2022-08-05
得票数 1
1
回答
等同于
代数
数据类型
的晶体
crystal-lang
在Crystal
中
编写
代数
数据类型
的等价物的惯用方法是什么?例如,在Haskell
中
,我可能会所以我希望有两个阶段,每个阶段都有一个字符串负载。稍后,我想在舞台上进行
模式
匹配
。 你将如
何在
Crystal
中
编写这段代码?
浏览 4
提问于2018-02-27
得票数 5
回答已采纳
1
回答
推荐的代码风格: case object Foo还是object Foo扩展Serializable?
scala
、
serialization
、
object
、
singleton
、
language-design
如果我想要一个序列化安全的单例,我应该更喜欢或
浏览 1
提问于2011-05-25
得票数 3
回答已采纳
3
回答
如
何在
TypeScript
中
模拟ADT
和
模式
匹配
?
pattern-matching
、
typescript
、
algebraic-data-types
不幸的是,在0.9.5版本
中
,TypeScript还没有
代数
数据类型
(联合类型)
和
模式
匹配
(解构它们)。更重要的是,它甚至不支持接口上的instanceof。您使用哪种
模式
来模拟这些语言特性,同时具有最大的类型安全性
和
最少的样板代码?
浏览 108
提问于2014-01-10
得票数 10
回答已采纳
2
回答
如
何在
JSON中
表示
变体(
和
类型)?
json
、
functional-programming
、
variant
代数
数据类型
是精确描述数据的方便方法。JSON
中
的产品类型没有问题。但是尚不清楚
和
类型可以是什么,所以如
何在
JSON中
表示
一个变体类型?
浏览 1
提问于2014-03-03
得票数 8
3
回答
哪些过程语言支持
代数
数据类型
?
procedural
、
algebraic-data-type
关于新的苹果语言Swift,我喜欢的一点是它将过程编程
和
代数
数据类型
结合在一起。其他什么语言能做到这一点?
浏览 0
提问于2014-06-30
得票数 2
回答已采纳
4
回答
为什么命令式语言没有
模式
匹配
?
scala
、
functional-programming
、
imperative-programming
所以,函数语言中的
模式
匹配
是非常棒的。我想知道为什么大多数命令式语言没有实现这个特性?据我所知,Scala是唯一具有
模式
匹配
的“主流”命令式语言。机箱/开关结构的威力要小得多。特别是,我感兴趣的是缺乏
模式
匹配
是由于技术原因还是历史原因?
浏览 1
提问于2014-07-31
得票数 4
回答已采纳
5
回答
代数
数据类型
的概念类似于OO语言中的类定义吗?
functional-programming
、
algebraic-data-types
这两个概念都允许创建新的
数据类型
。我能看到的唯一区别是,在函数式语言中,可以对
代数
数据类型
执行
模式
匹配
。但是OO语言没有类似的简洁特性。这是一个准确的陈述吗?
浏览 14
提问于2012-05-09
得票数 6
回答已采纳
1
回答
型
代数
与Knuth上箭头符号
haskell
、
types
、
functional-programming
、
algebraic-data-types
通过阅读
和
,我更多地思考了类型
代数
,特别是如何滥用它。基本上,2)我们可以将有序对(A,B)看作乘法:A*B这里有一个明显的
模式
:乘法是重复加法我的问题是:如
何在
代数
数据类型
中
表示
函数↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑?看起来↑应该是一个有无限个参数的函数,但这没有多大意义。
浏览 0
提问于2012-11-01
得票数 17
2
回答
Scala的编译时类型常量用于
模式
匹配
scala
、
types
我使用
代数
数据类型
(case对象)来
表示
在
模式
加工中使用它们的类型。db.parseLongField(database, key)) ...但是您知道,Scala
中
已经有我认为定义几个案例对象来
表示
这些是一种浪费。 我想改变IntType,LongType,.Int.type,Long.type或任何我可以在
模式
匹配</e
浏览 2
提问于2014-08-02
得票数 0
回答已采纳
1
回答
在fp-ts中使用POJO
fp-ts
我想做我认为最简单的事情,使用fp构造,通过一个普通的旧
Javascript
对象进行映射。我想使用的操作符很多-- map、filterMap等等--但它们似乎需要Map类型(我假设它是),而且似乎没有任何简单的方法在Map
和
Javascript
对象之间来回转换,在类型记录
中
,data对象是
代数
数据类型
及其Record<K、V>类型的标准
表示
。
浏览 9
提问于2022-02-13
得票数 0
回答已采纳
1
回答
Haskell
中
的一些` `data`‘定义是如何评估的
haskell
这似乎意味着用一种奇怪的方式从所有相同的元素
中
创建一个列表。我的意思是我不明白在BExpr
中
传递意味着什么。KnownSymbol sym => Proxy sym -> Router a -> Router a最后,从,MergeL sa sb a
和
MergeR
浏览 0
提问于2019-02-18
得票数 0
回答已采纳
2
回答
代数
数据类型
的用途是什么?
functional-programming
、
data-types
我正在阅读关于
代数
数据类型
的文章(感谢Richard,我找到了这个概念的极好的解释 )。虽然我理解
和
类型
和
乘积类型等的概念,但我不太理解的是
代数
数据类型
除了指定
模式
匹配
之外是如何有用的。在ADT的
模式
匹配
之外,还能做什么呢? 编辑:我不是问开发人员可以用ADT做什么,而ADT不能用对象完成。
浏览 0
提问于2011-05-05
得票数 17
回答已采纳
3
回答
树
中
模式
匹配
的编程语言
programming-languages
、
data-structures
、
pattern-matching
我想建立一个计算机
代数
系统的原型。一个方程将由一棵树
表示
,规则将被定义--类似于数学公理--指定一个
模式
(在树
中
),并为树的
匹配
部分指定一个重构规则。基本上,它应该支持高级别的数据结构,
如
列表(或实际上是树),并使树与
模式
相
匹配
变得容易,并将树的一部分替换为替代物。因此,它涉及到高层数据结构、
模式
匹配
和易于修改的问题。
浏览 0
提问于2012-05-10
得票数 1
回答已采纳
3
回答
为什么不能在C++模板参数
中
定义新类型?
c++
、
templates
我正在创建一个库,以允许OCaml/Haskell类
代数
数据类型
和
模式
匹配
。
代数
数据类型
使用类似于的类来实现。我希望能够在模板参数
中
定义新类型(构造函数),但我得到了一个错误。我正在使用我自己的类型
和
各种模板,但为了简单起见,我将在这里使用Boost的variant。在大多数情况下,在C++
中
,您可以定义使用它的新类型,例如:这里我定义了一个新类型的Foo,
浏览 1
提问于2009-06-02
得票数 2
回答已采纳
1
回答
scala上可扩展
代数
类型的仿真
oop
、
scala
、
algebraic-data-types
Scala允许您为构建和
匹配
代数
类型的实例定义自己的应用
和
不应用方法。这可能对演员的隐喻有用。
代数
型合同是什么意思?一组可用的构造函数
和
匹配
器。什么是扩展
代数
类型的自然观?用一些新值扩展构造函数集(就像双扩展浮点数更精确的浮点数一样) CompositeType明显地忽略了这个概念。如果我把这两种
代数
类型混合在一起,我得到的是集合相交,而不是并。这是将
代数
类型
表示
为分层子类型
浏览 3
提问于2013-03-04
得票数 0
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
相关
资讯
JavaScript图表库的比较
JavaScript的九种数据类型
JavaScript有这九种数据类型,你知道吗?
类型_Haskell笔记3
JavaScript的七大数据类型
热门
标签
更多标签
云服务器
ICP备案
实时音视频
即时通信 IM
对象存储
活动推荐
运营活动
广告
关闭
领券