Pairs and Other Tuples

Pairs

构建:

  1. 语法(syntax):
(e1, e2)
  1. 类型检查(type check):
  • e1有类型tae2有类型tb;得到一个新类型:ta * tb
  1. 求值规则(evaluation rules):
  • 计算参数,e1得到va, e2得到vb,结果(va, vb)备注:a pair of values is a value !

访问:

  1. 语法(syntax):
2-Tuples : 

val e = (e1, e2)
#1 e                         返回e1
#2 e                         返回e2      
  1. 类型检查(type check):
  • e有类型:ta * tb,所以#1 e有类型:ta#2 e有类型:tb
  1. 求值规则(evaluation rules):
  • e有值:(va, vb),所以#1 e有值:va#2 e有值:vb

Tuples

构建:

  1. 语法(syntax):
(e1, e2, ..., en)
  • 所以,Pairs只是一个2维元组(2-Tuples)
  1. 类型检查(type check):
  • 有类型:ta * tb * ... * tn
  1. 求值规则(evaluation rules):
  • 有值:(ta, tb, ..., tn)

访问:

参考Pairs

实例

简单:
val aPairs = (1, 2)                      (* type: int * int           value: (1, 2) *)
val bPairs = (1+1, 2+4)                  (* type: int * int           value: (2, 6) *)
val cPairs = (true, 2+4)                 (* type: bool * int          value: (true, 6) *)

组合:
val caPairs = (1, (2, 4))                (* type: int * (int * int)              value: (1, (2, 4) *)
val caPairs = (5+6, (2, 3+2))            (* type: int * (int * int)              value: (11, (2, 5) *)
val cPairs = ((true, 1), 2+4)            (* type: ((bool * int) * int)           value: ((true, 1) * 6)

理论上可以嵌套任意层数
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,156评论 0 2
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,264评论 0 38
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 3,225评论 0 3
  • 超高速音视频编码器用法: ffmpeg [options] [[infile options] -i infile...
    吉凶以情迁阅读 4,827评论 0 4
  • 函数(funciton): 1. 实例 2. 函数绑定: 1. 语法(syntax): fun 关键字,表明这是...
    christ_yang阅读 173评论 0 0

友情链接更多精彩内容