夹点 / 中位数 / 范围 - 托尼·芬奇

主要观点:围绕比较运算符主题,介绍了多种相关概念和风格,包括比较风格、夹钳风格(clamp style)、夹钳在范围内(clamp in range)、范围风格(range style)以及风格冲突等。
关键信息:

  • 一些语言有链式比较运算符,如 BCPL、Icon、Python 等,无链式比较的语言可按链式比较方式写比较式。
  • clamp()函数确保值在给定的最小和最大值之间,其参数顺序应与值的预期顺序匹配。
  • 若语言有合适的范围类型,可通过范围类型使clamp()更能抵御误用。
  • 作者长期喜爱类似链式比较语法的简单计数for循环,最近实现了新的幻想宠物范围语法。
  • 这些范围示例不遵循最初的从左到右、从小到大的习惯,而仔细的风格约定有助于避免非平凡条件表达式中的错误。
    重要细节:
  • Python 中链式比较示例if min <= x <= max:
  • clamp()函数的实现及不同参数顺序的讨论。
  • 用范围类型实现clamp()的代码fn clamp(x: f64, r: RangeInclusive<f64>) -> f64
  • 新的范围语法示例>= min < max(半开)和>= min <= max(包含)及在模式匹配、迭代和切片中的使用。
阅读 13
0 条评论