安下载(俺下载):打造放心的绿色安全下载站! 安下载首页|软件分类|最近更新

所在位置: 首页  >  电脑软件  >  编程开发  >  编程工具 > Scala编程语言(Scala Programming Language) v2.13.2 官方版
Scala编程语言(Scala Programming Language)

Scala编程语言(Scala Programming Language)

 v2.13.2 官方版
  • 软件大小:125 MB
  • 更新日期:2020-10-13 11:09
  • 软件语言:英文
  • 软件类别:编程工具
  • 软件授权:免费版
  • 软件官网:
  • 适用平台:WinXP, Win7, Win8, Win10, WinAll
  • 软件厂商:

6
软件评分

本地下载文件大小:125 MB

软件介绍 人气软件 下载地址

为您推荐: 编程开发

  Scala编程语言可以帮助用户在多个编辑器上使用,可以快速编辑新的代码文本,软件提供多个编程工具,fsc是快速的Scala编译器,可以通过该工具设计代码内容,将其部署到你的开发软件上就可以编辑代码,其中scala软件是运行测试工具,主要的功能就是运行Scala代码,当用户编辑代码完毕就可以在软件测试运行;scaladoc工具提供一个API文档生成功能,用户在开发新项目的时候可以通过该工具编辑开发文档,scalap工具是Scala类文件解码器,可以对文件转换编码,编译器具有一组标准选项,这些选项在当前开发环境中受支持,并且在将来的发行版中将受支持,如果你需要Scala编程语言就可以下载这款软件使用!

Scala编程语言(Scala Programming Language)

软件功能

  无缝Java互操作

  Scala运行在JVM上,因此Java和Scala堆栈可以自由混合,实现完全无缝的集成。

  类型推断

  所以类型系统感觉不那么静态。不要为类型系统工作。让类型系统为您工作!

  并发与分发

  对集合使用数据并行操作,对并发和分发使用actors,或者对异步编程使用future。

  特点

  结合Java风格接口的灵活性和类的强大功能。想想有原则的多重继承。

  模式匹配

  想想类固醇的“开关”。与类层次结构、序列等匹配。

  高阶函数

  函数是一级对象。以保证类型安全的方式组合它们。把它们用在任何地方,传递给任何人。

编译器选项

  –verbose

  输出有关编译器正在做什么的消息

  –deprecation

  指明是否应使用弃用信息来编译源;默认为off(接受的值是:on,off,yes和no)

  从Scala 2.2.1版开始可用

  –classpath

  指定在何处查找用户类文件(在基于Unix的系统上,用冒号分隔的路径列表,在基于Windows的系统上,用分号分隔的路径列表)。这不会覆盖内置("boot")搜索路径。

  默认的类路径是当前目录。设置CLASSPATH变量或使用-classpath命令行选项将覆盖默认值,因此,如果要在搜索路径中包括当前目录,则必须将其包括"."在新设置中。

  –sourcepath

  指定在何处查找输入源文件。

  –bootclasspath

  覆盖引导类文件的位置(可在其中找到标准内置类,例如“ scala.List”)。

  –extdirs

  覆盖已安装扩展的位置。

  –encoding

  指定源文件使用的字符编码。

  默认值是特定于平台的(Linux :"UTF8"、 Windows :)"Cp1252"。在Scala解释器中执行以下代码将返回系统上的默认值:

  scala> new java.io.InputStreamReader(System.in).getEncoding

安装方法

  1、打开scala2.13.2.msi软件直接安装,点击下一步

Scala编程语言(Scala Programming Language)

  2、提示软件的安装协议内容,点击接受协议

Scala编程语言(Scala Programming Language)

  3、软件的安装地址设置界面,可以默认安装在C:\Program Files (x86)\scala\

Scala编程语言(Scala Programming Language)

  4、软件准备完毕,点击install执行安装

Scala编程语言(Scala Programming Language)

  5、提示软件的安装进度界面,等待主程序安装结束

Scala编程语言(Scala Programming Language)

  6、scala成功安装到你的电脑,点击finish结束安装

Scala编程语言(Scala Programming Language)

环境配置

  接下来需要配置Scala的环境变量,需要提醒一下在安装Scala之前需要安装jdk,并且配置JDK的环境变量。我们看一下本地安装完成后的目录,如下图所示。

Scala编程语言(Scala Programming Language)

  最后我们配置Scala的环境变量,这台电脑-->右键“属性”-->高级系统设置-->环境变量,我们选择Path环境变量,并点击“编辑”按钮,我们将上图看到的Scala安装目录下的bean目录配置到Path环境变量中即可。

Scala编程语言(Scala Programming Language)

  安装完成后我们需要检验是否安装成功,Win+R打开命令行,输入 scala -version,若出现Scala的版本信息则说明安装成功,如下图所示。

Scala编程语言(Scala Programming Language)

使用方法

  使用Scala实现文件的拷贝

  读取行:要读取文件的所有行,可以调用scala.io.Source对象的getLines方法:也可以对getLines应用toArray或toBuffer方法。

Scala编程语言(Scala Programming Language)

  将这些行放到数组或缓冲当中,将文件内容读成一个字符串:val lines = source.mkString。

Scala编程语言(Scala Programming Language)
Scala编程语言(Scala Programming Language)

  读取字符:要从文件中读取字符,可以直接把Source对象当做迭代器:如果想查看某个字符,但是不处理掉的话,调用source对象的buffered方法。

Scala编程语言(Scala Programming Language)

  读取词法单元或数字:通过split方法对转化成行的文件内容进行划分,通过toInt或toDouble方法把字符转化成整数或浮点数。

Scala编程语言(Scala Programming Language)

  写入文本:Scala没有內建的对写入文件的支持,要写入文本文件,可以使用java.io.PrintWriter.

Scala编程语言(Scala Programming Language)

  值得一提的是FileChannel在使用前,必须要打开。需要通过InputStream/OutputStream/RandomAccessFile获取,BufferedReader/BufferedWriter获取不到。

使用说明

  要求

  您需要以下工具:

  Java SDK。2.12.x和2.13.x的基准版本均为8。可能可以使用更高版本的SDK进行本地开发,但是CI将根据基准版本进行验证。

  sbt(2.12.x分支上的sbt 0.13,2.13.x分支上的sbt 1)

  MacOS和Linux可以工作。如果您使用Cygwin,Windows可能会工作。感谢社区提供的帮助,以确保构建在Windows上正常运行。

  我们使用的工具

  我们感谢以下OSS许可证:

  JProfiler Java分析器

  YourKit Java Profiler

  IntelliJ IDEA

  构建设置

  基本

  在常规开发过程中,以前发布的版本将构建新的Scala构建。简而言之,我们将先前的版本称为“ starr”:稳定的参考版本。用starr构建足以完成大多数更改。

  但是,完整的Scala构建(由CI执行的bootstrap)需要两层。这保证了每个Scala版本都可以自行构建。如果更改Scala编译器的代码生成部分,则所做的更改将仅在引导后显示在库和编译器的字节码中。有关如何在本地进行引导构建的信息,请参见下文。

  有关如何制定当前方案的历史记录,请参见 https://groups.google.com/d/topic/scala-internals/gp5JsM1E0Fo/discussion。

  使用sbt构建

  开始sbt会话后,您可以运行以下核心命令之一:

  compile 编译所有子项目(库,反射,编译器,scaladoc等)

  scala/scalac直接从sbt运行REPL /编译器(接受选项/参数)

  enableOptimizer在启用Scala优化器的情况下重新加载构建。我们的发布是通过这种方式构建的。在提高编译器性能时启用此功能。启用优化程序后,构建速度会变慢,增量构建可能会不正确。

  setupPublishCore它会运行,enableOptimizer并根据当前的Git SHA配置版本号。通常用作引导程序的一部分sbt setupPublishCore publishLocal && sbt -Dstarr.version= testAll

  dist/mkBin生成转轮脚本(scala,scalac等)在build/quick/bin

  dist/mkPack 在以下位置以Scala发行格式创建内部版本 build/pack

  test运行JUnit测试,testOnly *immutable.ListTest运行一个子集

  partest运行部分测试(接受选项,尝试partest --help)

  scalacheck/test运行scalacheck测试,scalacheck/testOnly *FloatFormatTest运行一个子集

  publishLocal在本地发布发行版(可以与scalaVersion其他sbt项目一起使用)

  可选地set baseVersionSuffix := "bin-abcd123-SNAPSHOT" ,abcd123发布修订的git哈希值在哪里。您也可以使用自定义内容"bin-mypatch"。这会将版本号从更改为 2.12.2-SNAPSHOT更稳定的(2.12.2-bin-abcd123-SNAPSHOT)。

  请注意,该-bin字符串标记版本与二进制兼容。在sbt中使用它将导致scalaBinaryVersion成为2.12。如果版本与二进制不兼容,我们建议使用-pre,例如2.13.0-pre-abcd123-SNAPSHOT。

  (可选)set publishArtifact in (Compile, packageDoc) in ThisBuild := false 跳过生成/发布API文档(加快过程)。

  如果命令导致错误消息,例如a module is not authorized to depend on itself,则可能是全局sbt插件导致了周期性依赖性。尝试停用全局sbt插件(也许通过在中暂时将其注释掉~/.sbt/1.0/plugins/plugins.sbt)。

  沙盒

  我们建议将本地测试文件保存在Scala存储库中sandbox列出的目录中.gitignore。

  增量编译

  请注意,对于Scala编译器代码库而言,sbt的增量编译通常过于粗糙,并且会重新编译太多文件,从而导致构建时间较长(请在 sbt#1104上查看该方面的进度)。同时,您可以:

  使用IntelliJ IDEA进行增量编译(请参见下面的IDE安装程序)-其增量编译器不太保守,但通常是正确的。

  本地引导

  使用sbt执行引导

  首先,将构建发布到本地或临时存储库中,

  然后使用单独的sbt调用(使用先前构建的版本作为starr)来构建/发布实际的构建。

  假设当前starr版本为2.12.0(在versions.properties中定义 ),而当前版本为2.12.0-SNAPSHOT (在build.sbt中定义)。要执行本地引导程序:

  运行publishLocal(您可能想要指定自定义版本后缀,并跳过生成API文档,请参见上文)。

  退出sbt并使用sbt -Dstarr.version=where 是您在本地发布的版本号启动一个新的sbt实例。

  IDE设置

  我们建议使用IntelliJ IDEA(请参阅 src / intellij / README.md)。

  (金属也可以使用,但我们尚无相关说明或示例配置。非常欢迎在此区域提出拉取请求。)

  为了使用IntelliJ的增量编译器:

  dist/mkBin在sbt中运行以获取构建和运行器脚本build/quick/bin

  在IntelliJ中运行“构建”-“创建项目”

  现在,您可以编辑和构建IntelliJ,并使用脚本(编译器,REPL)直接测试您的更改。您也可以运行scala,scalac并partest 在SBT命令。启用“蚂蚁模式”(如上所述),以防止sbt的增量编译器在每次partest调用之前重新编译(太多)文件。

  用户命令

  名称

  fsc– Scala 2语言的快速离线编译器

  概要

  fsc [ ]

  参数

  命令行选项。请参阅下面的选项。

  一个或多个要编译的源文件(例如MyClass.scala)。

  选项

  脱机编译器支持以下所有选项scalac:

  –reset

  重置编译服务器缓存。

  –shutdown

  关闭编译守护程序。守护程序会根据需要尝试重新启动自身,但有时需要显式关闭。一个常见的示例是类路径上的jar是否已更改。

  –server

  在端口号处指定编译服务器主机。通常不需要此选项。请注意,主机名必须用于共享相同文件系统的主机。

  –J

  直接 传递给Java VM以进行编译守护进程。

  描述

  该fsc工具将Scala编译作业提交到编译守护程序。第一次执行该守护程序时,它将自动启动。在后续运行中,可以重新使用同一守护程序,从而加快编译速度。当重复使用相同的类路径进行编译时,该工具特别有效,因为编译守护程序可以重用编译器实例。

  当类路径更改时,编译守护程序足够聪明,可以刷新其缓存的编译器。但是,如果类路径的内容发生更改(例如,由于升级库),则应使用显式关闭该守护程序-shutdown。

  请注意,scala脚本运行程序默认情况下还将使用脱机编译器,具有相同的优点和警告。

  例

  以下会话显示由于使用脱机编译器而导致的典型加速。

  > fsc -verbose -d / tmp test.scala

  \&...

  [端口号:32834]

  [启动新的Scala编译服务器实例]

  [类路径= ...]

  [已加载目录路径... 692ms]

  \&...

  [解析test.scala]

  \&...

  [总计943ms]

  > fsc -verbose -d / tmp test.scala

  \&...

  [端口号:32834]

  [解析test.scala]

  \&...

  [总计60毫秒]

  > fsc -verbose -d / tmp test.scala

  \&...

  [端口号:32834]

  [解析test.scala]

  \&...

  [总计42ms]

  > fsc -verbose -shutdown

  [Scala编译服务器已退出]

环境

  JAVACMD

  指定java用于运行Scala代码的命令。可以将参数指定为环境变量的一部分;空格,引号等将直接传递给外壳进行扩展。

  JAVA_HOME

  指定JDK / JRE主目录。java除非JAVACMD设置了变量,否则该目录用于查找命令。

  JAVA_OPTS

  指定要传递给java定义的命令的选项JAVACMD。

  例如,使用Java 1.5(或更高版本),可以如下配置JVM的内存使用情况: JAVA_OPTS="-Xmx512M -Xms16M -Xss16M"

  退出状态

  fsc如果成功编译指定的输入文件,则返回零退出状态。如果失败,则返回非零。

标准选项

  –Dproperty=value

  –Dproperty=value 直接 传递到运行时系统。

  –J(flag)

  直接 传递到运行时系统。

  –P:plugin:opt

  将选项传递给插件

  –X

  打印高级选项的摘要。

  –bootclasspath

  覆盖引导类文件的位置(可在其中找到标准内置类,例如“ scala.List”)。

  –classpath

  指定在何处查找用户类文件(在基于Unix的系统上,用冒号分隔的路径列表,在基于Windows的系统上,用分号分隔的路径列表)。这不会覆盖内置("boot")搜索路径。

  默认的类路径是当前目录。设置CLASSPATH变量或使用-classpath命令行选项将覆盖默认值,因此,如果要在搜索路径中包括当前目录,则必须将其包括"."在新设置中。

  –d

  指定放置生成的类文件的位置。

  –deprecation

  发出警告和位置,以指示不赞成使用的API的使用情况。

  从Scala 2.2.1版开始可用

  –encoding

  指定源文件使用的字符编码。

  默认值是特定于平台的(Linux :"UTF8"、 Windows :)"Cp1252"。在Scala解释器中执行以下代码将返回系统上的默认值:

  scala> new java.io.InputStreamReader(System.in).getEncoding

  –explaintypes

  详细解释类型错误。

  –extdirs

  覆盖已安装扩展的位置。

  –feature

  针对应显式导入的功能的使用发出警告和位置。

  –g:{none,source,line,vars,notailcalls}

  "none" 没有生成调试信息,

  "source" 仅生成源文件属性,

  "line" 生成源和行号信息,

  "vars" 生成源代码,行号和局部变量信息,

  "notailcalls"生成以上所有内容,并且不会执行尾部调用优化。

  –help

  打印标准选项的提要。

  –javabootclasspath

  覆盖Java引导类路径。

  –javaextdirs

  覆盖Java extdirs类路径。

  –language:

  启用一种或多种语言功能。

  –no-specialization

  忽略@specialize注释。

  –nobootcp

  不要对Scala jar文件使用引导类路径。

  –nowarn

  不产生警告

  –optimise

  通过对程序进行优化来生成更快的字节码。

  –print

  删除了所有Scala特定功能的打印程序。

  –sourcepath

  指定源文件的位置。

  –target:{jvm-1.8}

  "jvm-1.8" 目标JVM 1.8(默认)

  –toolcp

  添加到跑步者类路径。

  –unchecked

  启用详细的未选中(删除)警告

  未检查类型模式中的非变量类型参数,因为通过擦除将它们消除了

  自Scala版本2.3.0起可用

  –uniqid

  在调试输出中唯一标记所有标识符。

  –usejavacp

  在类路径解析中使用java.class.path。

  –usemanifestcp

  在清单路径解析中使用清单。

  –verbose

  输出有关编译器正在做什么的消息

  –version

  打印产品版本并退出。

  @

  包含编译器参数(选项和源文件)的文本文件

  高级选项

  –Xcheckinit

  包装字段访问器以在未初始化的访问上引发异常。

  –Xdev

  为使用Scala编译器的开发人员启用警告

  –Xdisable-assertions

  不产生任何断言和假设

  –Xelide-below

  @elidable如果方法优先级低于参数,则省略 对方法的调用。

  –Xfatal-warnings

  如果有任何警告,则使编译失败。

  –Xfull-lubs

  保留2.10之前的行为,即不太积极地截断最小上限。

  –Xgenerate-phase-graph

  生成相图(输出.dot文件)到fileX.dot。

  –Xlint

  启用建议的其他警告。

  –Xlog-free-terms

  在创建自由条款时打印消息。

  –Xlog-free-types

  当版本化生成自由类型时,打印一条消息。

  –Xlog-implicit-conversions

  每当插入隐式转换时,都要打印一条消息。

  –Xlog-implicits

  显示有关为什么某些隐式设置不适用的更多详细信息。

  –Xlog-reflective-calls

  生成反射方法调用时打印消息。

  –Xmacro-settings:

  宏的自定义设置。

  –Xmain-class

  清单的Main-Class条目的类(仅对-d 有用)。

  –Xmigration:

  警告自<版本>以来其行为可能已更改的构造。

  –Xno-forwarders

  不要在镜像类中生成静态转发器。

  –Xno-patmat-analysis

  不要执行穷举性/无法到达性分析。另外,请忽略@switch注释。

  –Xjline

  要使用的JLine绑定:emacs / vi / off。

  –Xplugin:

  从每个类路径加载一个插件。

  –Xplugin-disable:

  按名称禁用插件。

  –Xplugin-list

  打印已加载插件的提要。

  –Xplugin-require:

  如果未加载命名插件,则中止。

  –Xpluginsdir

  搜索插件档案的路径。

  –Vprint:

  在<阶段>之后打印出程序(请参见下文)。

  –Vprint-icode[:]

  在< phases >之后将内部icode记录到* .icode文件中(默认值:icode)。

  –Vprint-pos

  打印树的位置,作为偏移量。

  –Vprint-types

  打印树类型(调试选项)。

  –Xprompt

  在每个错误后显示提示(调试选项)。

  –Xresident

  编译器保持驻留状态,要编译的文件从标准输入中读取。

  –Xscript

下载地址

人气软件