pointfree

    0热度

    1回答

    我已经if语句如下: var formatCity = obj => R.both(has('city'), has('state'))(obj) ? appendCommaToCity(obj) : obj 我想使这个码点免费的,但不能找出周围的if语句的方式。

    0热度

    1回答

    我不能使用Ramda中可用的函数找出f(x)(g(x))的变换。我希望在R.something(f, g)(x)的理想情况下 - 只要x只出现一次,并且是最后一个参数。 f是采取x返回功能 g是一个函数采取x返回一个值 我试过pipe,compose,chain功能,但TBH我猜很辛苦并没有一个人工作。我最近问了一个类似的问题,我很想知道如果存在一个有用身份的资源,所以我不需要继续问这么:)

    1热度

    3回答

    如何使用拉姆达使以下功能点免费使用? const prefixAll = R.curry((prefix, list) => R.map(R.concat(prefix), list))

    1热度

    1回答

    我试图找出是否有写pointfree组成功能时的参数应该令行禁止合成功能来铺展模式 即(有Ramda): add_1_and_multiply = (add, mul) => R.compose(R.multiply(mul), R.add(1))(add) add_1_and_multiply(3, 5) // 20 如何用无点式书写add_1_and_multiply?

    1热度

    2回答

    在建议我收到here,我试图重写一个函数没有多余的绑定分配和返回,但是被一个额外的IO阻塞我似乎无法理解如何摆脱它。 我 good :: IO (Either Int String) getit :: Either Int String -> Int main :: IO() main = do x <- fmap getit good putStrLn $ show

    1热度

    1回答

    鉴于这些类型: type Bar = number; type Foo = { bar: Bar, }; 而这种自由点转换功能fooToBar: import { prop } from 'ramda'; const fooToBar = prop('bar'); 是否可以诠释fooToBar的的Foo -> Bar签名?

    1热度

    1回答

    我想实现这个功能,贴题 const getItem = (items, id) => items.find(item => item.id === id); 自由点使用样式ramda.js 2+参数功能编写。 当我使用这样的事情: const getItem = find(propEq('id')); 的第一个参数items将被传递给find功能,但我们将失去第二id参数。 问题是,如何实

    2热度

    1回答

    我试图找出的f x y = 3 + y/x点游离形式在Haskell。我认为这将是f = (3.0+) . flip (/),但得到的答复是f2 = curry $ (3.0+) . (uncurry $ flip (/)),这是一样的f1 = curry ((3.0+) . (uncurry (flip (/)))),例如我得到的答案,但在开始之前翻转和咖喱之前,uncurry。 我看到的版本是

    4热度

    2回答

    所以我想要的数组arr1的元素也碰巧属于数组arr2。我想arr1.filter(arr2.includes)应该做的伎俩,但它给了我一个错误(见下文)。奇怪的是,arr1.filter(x => arr2.incudes(x))工作正常。即使函数arr2.includes和x => arr2.includes(x)不是平等的,它们不应该在相同的输入上采用相同的值吗?我在想什么,在这里? > ar

    4热度

    3回答

    简写:有没有更习惯写法(\a->[a])? 朗形式:对于任何数据类型Foo a,如果我有一个函数f :: Foo a -> b,我需要写东西像... wrapAndF a = f $ Foo a ...我可以使它指向自由写 wrapAndF = f . Foo 但如果我的功能g :: [a] -> b上列出工作和我的包装看起来像这样... wrapAndG a = g [a] ...什