小编Zac*_*h L的帖子

部分函数与lambda的地图列表

我想知道对于大多数例子来说,使用它还是更具"pythonic" 功能lambda还是partial功能?

例如,我可能想要应用于imap某些列表,例如使用以下内容为每个元素添加3:

imap(lambda x : x + 3, my_list)
Run Code Online (Sandbox Code Playgroud)

或者使用partial:

imap(partial(operator.add, 3), my_list)
Run Code Online (Sandbox Code Playgroud)

我意识到在这个例子中循环可能更容易实现它,但我正在考虑更多非平凡的例子.

在Haskell中,我会在上面的例子中轻松选择部分应用程序,但我不确定Python.对我来说,lambda似乎是更好的选择,但我不知道大多数python程序员的主流选择是什么.

python

16
推荐指数
2
解决办法
3281
查看次数

对象和字典之间的区别?

Actionscript中对象和字典之间究竟有什么区别?

var obj:Object = new Object();
obj.something = "something";

var dict:Dictionary = new Dictionary();
dict.something = "something";

trace(obj.something, dict.something);
Run Code Online (Sandbox Code Playgroud)

跟踪声明似乎相同......

actionscript dictionary object

6
推荐指数
2
解决办法
3517
查看次数

基本Haskell函数中的非穷举错误

我是Haskell的新手并尝试组合一个简单的函数来检查两个数字是否相等.这是编译,但是当我尝试对程序进行测试时,它说这不是详尽无遗的.我不明白它如何用布尔函数非穷举?提前致谢:

data Value = ConstInt Int
           | Numequal Value Value
           | Ctrue Bool
           | Cfalse Bool
            deriving (Read, Show)
eval:: Value -> Bool

eval (Numequal e1 e2) =
   let x = eval e1
       y = eval e2
         in case (x, y) of
            (i1, i2)  -> 
                if x == y
                then False
                else True
Run Code Online (Sandbox Code Playgroud)

haskell boolean non-exhaustive-patterns

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