either

    7热度

    5回答

    我知道我可以通常只是模式匹配,但有时候我会发现这些功能很有用: isLeft = either (const True) (const False) isRight = either (const False) (const True) 有没有这样的事情在标准库?

    4热度

    1回答

    在Scala中,我可以有: trait Api { def someApiCall: Either[Failure, GoodResult]; } 或 object SomeObject { type SomeResult = Either[Failure, GoodResult] } trait Api { def someApiCall: SomeOb

    0热度

    3回答

    在Rails中查询的地方写“(x AND y)OR(a AND b)”的最佳方式是什么? 我刚刚编写了以下消息方法来在两个用户之间返回消息。该选择是为了让两个用户之间的消息,即给我的消息,我给他们和他们给我。 它的作品,但它看起来很可怕。是否有更简单/更好的书写方式? class Conversation def initialize(me, them) @me = me

    2热度

    1回答

    不知道该怎么称呼这个选项,它可以和任何一个一样好,我需要处理第三种情况。 Scalaz可能已经提供了这样的事情,但我很想知道如何,没有一个单独的库,可以简洁地处理好以下几个简单的例子: 我需要检查,如果用户的会话时,无论实际的用户和管理员登录为用户场景,后者优先于前者;如果没有条件存在,则显示登录屏幕。 实际的用户会话确认的样子: request.session.get(Security.user

    13热度

    3回答

    如果Scala的功能是 def A(): Either[Exception, ArrayBuffer[Int]] = { ... } 应该是什么处理返回的结果的正确方法? val a = A() 和?

    31热度

    4回答

    在我的空闲时间我正在学习Haskell,所以这是一个初学者的问题。 在我的阅读我跨越说明如何Either a由Functor实例的例子就是: instance Functor (Either a) where fmap f (Right x) = Right (f x) fmap f (Left x) = Left x 现在,我试图理解为什么在Right值构造的情况下,实现

    3热度

    3回答

    在考虑到潜在的运行时故障,如数据库查询,似乎是一个必须使用某种形式的Either[String, Option[T]]为了准确地捕捉到以下成果: 一些(发现结果) 无(没有发现结果) SQL异常 选项根本没有足够的选择。 我想我需要潜入斯卡拉,但现在它是直的要么,除非我在上面丢失了一些东西。 已经把自己装进了我的DAO实现的一个角落,只使用Either进行写入操作,但现在我发现有些写入依赖于Opt

    9热度

    2回答

    有一些stdlib函数会在无效输入时抛出错误。例如: Prelude> read "1o2" :: Int *** Exception: Prelude.read: no parse 我想包装它来代替返回Either e a。我怎样才能做到这一点?

    5热度

    2回答

    instance Monad (Either a) where return = Left fail = Right Left x >>= f = f x Right x >>= _ = Right x 在 'baby.hs' 这个代码断枝造成可怕的编译错误: Prelude> :l baby [1 of 1] Compiling Main (b

    12热度

    1回答

    为了帮助我学习Applicative Functors和Functors,我认为使用类型Functor和Applicative来实现Either将会很有趣。很明显,我可以继续阅读代码,但是我发现尝试自己实现以更好地理解事物更有用。 仅供参考我想实现这个演示http://applicative-errors-scala.googlecode.com/svn/artifacts/0.6/chunk-h