Tag: 存在主义

使用Swift探索存在类型

作为程序员,我们花费大量时间编写程序来解决问题,自动化任务,收集数据,分析数据以及制定希望使我们的用户生活更加轻松的决策。 我们的大多数白天编程本质上都是实用的,因为世界是建立在截止日期和预算以及用户故事和冲刺之上的。 只有当孩子们开始入睡并且白天的烦恼逐渐消失在背景中时,我们才能编写夜间程序,探索程序,学习程序,存在性程序。 我因此编程! 不,这不是一个存在的类型,只是一个me脚的笑话。 临时多态性 在这样一个探索的夜晚,我想尝试Swift的即席多态性。 临时多态性听起来很有趣,但是每所小学都理解并使用它。 1 +1 = 2 1.0 + 1.0 = 2.0 加法运算符使我们可以将整数相加,将浮点数相加,将玩具熊甚至是Elsa娃娃相加。 小学孩子们知道加法不限于事物的一个特定子集。 当然,编程语言从来都不是那么直观的,通常来说,我们使用的语言很少支持即席多态。 例如,在OCaml中,我们有一个不同的运算符来添加整数和浮点数。 1 +1 = 2 1.0 +。 1.0 = 2.0 Java和.Net都不是更好,因为它们都不允许我们将相同的函数应用于不同的类型。 但是,Swift的精神是使专业人员和学龄儿童都可以访问编程,并且由于学童们了解临时的多态性,也许职业程序员也应该这样做。 协议编号{ 关联类型A 静态函数Add(x:A,y:A)-> A } 扩展名Int:Num { 静态函数Add(x:Int,y:Int)-> Int {return x + y} } 扩展名Double:Num { 静态函数Add(x:Double,y:Double)-> Double {return x + y} } […]