小编Agn*_*ngh的帖子

Haskell无可辩驳的模式匹配

为了开始进入Haskell的道路,我选择了其中一位创作者Hudak的书.所以,我正在经历对Haskell的温和介绍.

我一直试图理解以下陈述:

从技术上讲,形式参数也是模式,但它们永远不会与值相匹配.

从我对C语言(或者简称为非函数语言)的较小但相对较大的适应性,我可以形成形式参数是函数定义中的参数.所以,假设在C中有如下函数:

int func_add(int a, int d) 
Run Code Online (Sandbox Code Playgroud)

然后传递一些像字符串这样的其他类型的值将是模式匹配失败,如果我是正确的.所以呼吁func_add作为func_add("trs", 5)是模式不匹配的情况.

如果一段代码通过传递不同类型的参数来调用函数,那么在Haskell中很可能会出现错误理解或解释的可能性.

那么,为什么说在Haskell形式参数是无可辩驳的模式匹配?

haskell functional-programming pattern-matching

10
推荐指数
2
解决办法
383
查看次数

关于smalltalk中的消息传递有什么特别之处

我正在阅读Smalltalk的介绍.在C++中,类中声明的函数可以由该类的对象调用,类似地,在Smalltalk中,一个关键字(称为message)与对象的名称相邻.(不知道多少,但也想在这里询问是否在回复消息时,是否有执行的独特方法?)

基本上,对于我天真的想法,这似乎只是语法风格的差异.但是,我想知道在内部编译或内存结构方面,这种调用的差异是否具有任何意义.

提前致谢.

PS:我向你们所有人倾诉你的时间和答案.非常感谢.

smalltalk

8
推荐指数
4
解决办法
2046
查看次数

通过写入__FILE__动态更改运行代码?

我知道了一种使用__FILE__宏在C中打印正在运行的代码的源代码的方法.因此,我可以寻找位置并使用putchar()来改变文件的内容.

是否可以使用此方法动态更改正在运行的代码?

c

3
推荐指数
2
解决办法
192
查看次数