首页 > 代码库 > 有序对《计算的本质,深入剖析程序和计算机 Understanding ComputationFrom Simple Machines to Impossible Programs》

有序对《计算的本质,深入剖析程序和计算机 Understanding ComputationFrom Simple Machines to Impossible Programs》

有序对的作用是存储两个值,并在之后根据需要再次提供

PAIR = -> x { -> y { -> f { f[x][y] } } }

LEFT = -> p { p[ -> x{ -> y { x } }] }

RIGHT = -> p { p[ -> x{ -> y { y } }] }

 

读第一遍的时候对这几行Ruby代码很不理解,就模仿写了一段JavaScript

PAIR = function(x){return function(y){ return function(f){ return f(x)(y) } }}

LEFT = function(p){return p(function(x){return function(y){ return x }})}

RIGHT = function(p){return p(function(x){return function(y){ return y }})}

 

使用

my_pair = PAIR(3)(5)

LEFT(my_pair)

有序对《计算的本质,深入剖析程序和计算机 Understanding ComputationFrom Simple Machines to Impossible Programs》