小编Noé*_*ein的帖子

CoffeeScript中的n-ary咖喱

当我发现自己写下以下几行然后敬畏地看着它时,我正在玩CoffeeScript:

compose = (f, g) -> (x) -> f g x
curry = (f) -> (x) -> (y) -> f(x, y)
uncurry = (f) -> (x, y) -> (f x) y
Run Code Online (Sandbox Code Playgroud)

我觉得多好啊!现在,作为练习,我想我会将curry和uncurry函数推广到n args,以获得类似于此的东西:

curry2 = (f) -> (x) -> (y) -> f(x, y)
curry3 = (f) -> (x) -> (y) -> (z) -> f(x, y, z)
curry4 = (f) -> (x) -> (y) -> (z) -> (t) -> f(x, y, z, t)
Run Code Online (Sandbox Code Playgroud)

不一致的是同样的事情:

uncurry2 =  (f) -> (x, y) -> …
Run Code Online (Sandbox Code Playgroud)

javascript functional-programming coffeescript

16
推荐指数
1
解决办法
1546
查看次数

定义我自己的非类似Python常量

我有一种情况需要从各种来源读取数据库更新指令的集合.所有源都将包含主键值,以便将更新应用于数据库的代码可以找到正确的记录.但是,报告的其他列中的文件会有所不同.

当我阅读并创建更新指令时,我必须区分一个更新,其中提供了一个列(例如,MiddleName)但是为空(意味着没有中间名,字段应该更新为NULL)和更新中的MiddleName字段未包含在内(意味着更新不应触及中间名称列).

前一种情况(提供的列但没有值)似乎适当地由None值表示.然而,对于第二种情况,我想要一个NotInFile "值",我可以使用类似于我使用None的方式.

是否正确实现此方法如下?

NotInFile = 1

class PersonUpdate(object):

     def __init__(self):

         self.PersonID = None
         self.FirstName = NotInFile
         self.MiddleName = NotInFile
Run Code Online (Sandbox Code Playgroud)

然后在另一个模块中

import othermod
upd = othermod.PersonUpdate()
if upd.MiddleName is othermod.NotInFile:
    print 'Hey, middle name was not supplied'
Run Code Online (Sandbox Code Playgroud)

python singleton constants

4
推荐指数
3
解决办法
454
查看次数