psp-std, 非标准标准标准库( Scala )

分享于 

2分钟阅读

GitHub

  繁體 雙語
psp's non-standard standard library (for scala)
  • 源代码名称:psp-std
  • 源代码网址:http://www.github.com/paulp/psp-std
  • psp-std源代码文档
  • psp-std源代码下载
  • Git URL:
    git://www.github.com/paulp/psp-std.git
    Git Clone代码到本地:
    git clone http://www.github.com/paulp/psp-std
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/paulp/psp-std
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    psp.std---一个非标准库

    Build StatuscodecovJoin the chat

    背景

    Scala 标准库有很多方面的不足。 这个库是尝试重新构建它,并考虑到一致性。性能和正确性。 有关某些详细信息,请参见视图。 有关项目布局,请参见概述

    用法

    基本 build.sbt的建议内容如下。 请注意,所看到的控制台记录需要的项目代码比。 标准的Scala repl无法处理 -Yno-imports,所以 psp std从ammonite派生了一个新的控制台任务。

     scalaVersion :="2.12.1" resolvers +=Opts.resolver.sonatypeReleases
     scalacOptions ++=Seq("-language:_", "-Yno-predef")
    initialCommands in console :="import psp.std._, all._, StdShow._" libraryDependencies +="org.improving"%%"psp-std"%"0.6.1"

    然后 sbt console 你就可以四处看看。 [Not at the moment. ]

    % sbt console
    psp-std repl (ammonite 0.5.7, scala 2.11.8, jvm 1.8.0_92)
    psp>valxs=1 to 20 splitAfter 10.size
    xs:Split[Int] = [ 1, 2, 3,.. . ] / [ 11, 12, 13,.. . ]
    psp> xs mapLeft (_ dropRight 8) join
    res0:View[Int] = [ 1, 2, 11,.. . ]
    psp> xs.zip filterRight (_ %3===0)
    res1:Zip[Int, Int] = [ 2->12, 5->15, 8->18 ]
    psp>valys= zipCross(1 to 3, view("a", "bb"))
    ys:Zip[Int, String] = [ 1-> a, 1-> bb, 2-> a, 2-> bb, 3-> a, 3-> bb ]
    psp>valzs= ys eqBy (x => x, _.length)
    same:Zip[Int, String] = [ 1-> a, 2-> bb ]
    psp> zs.rights joinWith '/'res2:String= a/bb

    要求

    Scala 2.12,Java 8,sbt 0.13.13 +


    STA  for  SCA  Scala  STAN  standard  
    相关文章