为了开始进入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形式参数是无可辩驳的模式匹配?
我正在阅读Smalltalk的介绍.在C++中,类中声明的函数可以由该类的对象调用,类似地,在Smalltalk中,一个关键字(称为message)与对象的名称相邻.(不知道多少,但也想在这里询问是否在回复消息时,是否有执行的独特方法?)
基本上,对于我天真的想法,这似乎只是语法风格的差异.但是,我想知道在内部编译或内存结构方面,这种调用的差异是否具有任何意义.
提前致谢.
PS:我向你们所有人倾诉你的时间和答案.非常感谢.
我知道了一种使用__FILE__宏在C中打印正在运行的代码的源代码的方法.因此,我可以寻找位置并使用putchar()来改变文件的内容.
是否可以使用此方法动态更改正在运行的代码?