映射定律意味着什么?(Scala中的函数编程)

映射定律意味着什么?(Scala中的函数编程),scala,functional-programming,Scala,Functional Programming,在第111页,映射定律的原因如下: 第1行:map(单位(x))(f)=单位(f(x)) 第2行:map(unit(x))(id)=unit(id(x)) 第3行:map(单位(x))(id)=单位(x) 第4行:map(y)(id)==y 让我困惑的是从第2行到第3行的转换,似乎我错过了一些东西,有人能帮忙吗?它是这样工作的,因为id(x)==x,所以: map(unit(x))(id)==unit(id(x))==unit(x)它是这样工作的,因为id(x)==x,所以: map(uni

在第111页,映射定律的原因如下:

  • 第1行:
    map(单位(x))(f)=单位(f(x))
  • 第2行:
    map(unit(x))(id)=unit(id(x))
  • 第3行:
    map(单位(x))(id)=单位(x)
  • 第4行:
    map(y)(id)==y

让我困惑的是从第2行到第3行的转换,似乎我错过了一些东西,有人能帮忙吗?

它是这样工作的,因为
id(x)==x
,所以:


map(unit(x))(id)==unit(id(x))==unit(x)
它是这样工作的,因为
id(x)==x
,所以:


map(unit(x))(id)==unit(id(x))==unit(x)

为什么id(x)==x?id在这里是什么意思?
id
是一个标识函数,它返回的值与给定的值完全相同,因此例如
id(5)==5
。为什么id(x)==x?id在这里是什么意思?
id
是一个标识函数,返回与给定值完全相同的值,例如
id(5)==5