小编moh*_*med的帖子

功能编程中的副作用

在功能编程书中,作者提到以下是副作用.

  1. 修改变量
  2. 修改数据结构
  3. 在对象上设置字段
  4. 抛出异常或因错误而停止
  5. 打印到控制台或读取用户输入
  6. 读取或写入文件
  7. 在屏幕上绘图

我只是想知道如果它们是副作用,如果没有读取或写入文件就可以编写纯函数程序.如果是,那么在功能世界中实现这一目标的常用方法是什么?

谢谢,穆罕默德

functional-programming side-effects

8
推荐指数
2
解决办法
2330
查看次数

Scala Nothing数据类型

我知道Scala没有什么是底层类型.当我看到API时,它从"Any"扩展,这是层次结构中的顶层.

现在,由于Scala不支持多重继承,我们怎么能说它是底层类型.换句话说,它不直接继承所有类或特征,如Seq,List,String,Int等.如果是这种情况我们怎么能说它是所有类型的底部?

我的意思是,如果我们能够将List [Nothing](Nil)分配给List [String],因为List在scala中是协变的,因为Nothing和String类型之间没有直接关联.我们知道什么都不是底层类型,但我很难看到String和Nothing之间的关系,就像我在上面的例子中所说的那样.

谢谢和问候,穆罕默德

scala

6
推荐指数
1
解决办法
447
查看次数