Scala 写第一个程序HelloWorld

idea安装scala插件

Settings——Plugins——搜索Scala,进行安装

 

下载scala-2.12.8.zip并解压

https://www.scala-lang.org/download/

所有版本列表

https://www.scala-lang.org/download/all.html

 

新建sbt项目(类似maven)

选择Scale——sbt,选择版本、目录之后创建成功

 

离线使用sbt包,下载https://www.scala-sbt.org/download.html中的sbt 1.2.8.zip并解压

IDEA中Settings——Build——sbt——设置Launcher为Custom,指向解压后的bin\sbt-launch.jar

 

构建Scala完整项目

sbt项目目录与Maven项目目录类似,创建下面的目录

├── src
│  ├── main
│  │  ├── java
│  │  ├── resources
│  │  └── scala
│  ├── test
│  │  ├── java
│  │  ├── resources
│  │  └── scala
├── build.sbt
├── project
│  ├── build.properties
│  ├── plugins.sbt

其中bulid.sbt为构建定义,project目录是你的工程内另一个工程的项目,它知道如何构建你的工程,即project项目为元构建,相关文档为http://www.scala-sbt.org/0.13/docs/zh-cn/Organizing-Build.html。

 

简单的bulid.sbt文件

name := "hello"      // 项目名称organization := "xxx.xxx.xxx"  // 组织名称version := "0.0.1"  // 版本号scalaVersion := "2.10.6"   // 使用的Scala版本号// 添加项目依赖
libraryDependencies += "ch.qos.logback" % "logback-core" % "1.0.0"libraryDependencies += "ch.qos.logback" % "logback-classic" % "1.0.0"// 或者libraryDependencies ++= Seq("ch.qos.logback" % "logback-core" % "1.0.0","ch.qos.logback" % "logback-classic" % "1.0.0",...)// 添加测试代码编译或者运行期间使用的依赖
libraryDependencies ++= Seq("org.scalatest" %% "scalatest" % "1.8" % "test")

 

编写helloworld

 

src/main/scala创建com.whq.test包,创建Hi.scala文件,内容如下

object Hi{def main(args: Array[String]) = println("Hello world!")
}

 

右击文件运行输出如下

Hello world!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/416955.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spark 连接 HBase 入库及查询操作

本实例采用Scala开发,实现了RDD数据两种方式入库到HBase,从HBase中读取数据并print输出。 build.sbt name : "SparkSbt"version : "0.1"scalaVersion : "2.10.5"libraryDependencies "org.apache.spark" %% &…

C++程序设计语言(特别版) -- 一个桌面计算器

前言 这里要介绍各种语句和表达式,将通过一个桌面计算器的程序做些事情,该计算器提供四种座位浮点数的中缀运算符的标准算术运算。这个计算器由四个部分组成:一个分析器,一个输入函数,一个符号表和一个驱动程序。分析器…

前端学习(2364):图片的上传

message.vue <template><view><button type"primary" click"chooseImg">上传图片</button><image v-for"item in imgArr" :src"item" mode""></image></view> </template>…

superset docker方式安装

superset是优秀的数据可视化开源项目&#xff0c;为用户提供了丰富的图表视觉效果&#xff0c;基于python开发。但仅可以以图表、表格形式展示结果&#xff0c;不支持页面组装等高级BI功能。 准备环境docker 然后执行命令 docker pull amancevice/superset docker run --det…

※交换排序(1)——快速排序(quick sort)

快速排序使用分治策略(Divide and Conquer)来把一个序列分为两个子序列。步骤为&#xff1a; 从序列中挑出一个元素&#xff0c;作为"基准"(pivot). 把所有比基准值小的元素放在基准前面&#xff0c;所有比基准值大的元素放在基准的后面&#xff08;相同的数可以到任…

前端学习(2365):图片的预览

message.vue <template><view><button type"primary" click"chooseImg">上传图片</button><image v-for"item in imgArr" :src"item" click"previewImg(item)"></image></view>…

superset 图标调整

superset docker方式安装 系统为debian 9 安装路径为 /usr/local/lib/python3.6/site-packages/superset/ web页面左上角图标路径为&#xff1a; static/assets/images/superset-logo2x.png 采用Flask框架 页面在views/中&#xff0c;core.py中 #欢迎页面 expose(/welco…

第五周思维导图

转载于:https://www.cnblogs.com/java1765415329/p/6686733.html

superset 时区问题Timestamp subtraction must have the same timezones or no timezones

superset绑定数据源后&#xff0c;切换到图表展示时报错&#xff1a; Timestamp subtraction must have the same timezones or no timezones File "/usr/local/lib/python3.6/site-packages/superset/utils/core.py", line 362, in datetime_to_epoch return (dtt…

使用Kotlin开发Android应用 - 环境搭建 (1)

一. 在Android Studio上安装Kotlin插件 按快捷键Command, -> 在Preferences界面找到Plugins -> 点击Browse repositories ... -> 输入Kotlin -> 安装Kotlin (老版本需要安装 Kotlin 和Kotlin Extensions For Android两个插件, 最新版本的Kotlin插件包含了Android E…

前端学习(2367):两种方式导航跳转和传参

<template><view><button type"primary" click"chooseImg">上传图片</button><image v-for"item in imgArr" :src"item" click"previewImg(item)"></image><navigator url"../…

sqlserver启用登陆审计

客户端管理工具进入后&#xff1a;安全性——审核——新建审核——审核目标&#xff08;就是存储位置&#xff09;选application log&#xff08;windows系统应用日志&#xff09;或者选File&#xff08;文件目录中会产生一堆日志文件&#xff0c;设置最大滚动更新文件数、最大…

java基础——equals及==的区别

①数值比较【必须为整数&#xff0c;小数因为精度问题不能通过这个比较&#xff0c;只能依靠d1-d2<0.0000000001这样的比较两者的不同】&#xff0c;值相等就行。 ②引用比较&#xff0c;引用的对象有父子关系或者是同一类的才能比较&#xff0c;只有当指向同一个引用才相等…

前端学习(2368):编程式导航

<template><view><button type"primary" click"chooseImg">上传图片</button><image v-for"item in imgArr" :src"item" click"previewImg(item)"></image><navigator url"../…

centos7 firewall防火墙实现映射其他机器的端口

vi /etc/sysctl.conf 增加一行 net.ipv4.ip_forward 1 使上述修改生效 sysctl -p firewall-cmd --add-port5432/tcp --permanent #开放端口 firewall-cmd --add-forward-portport5432:prototcp:toaddr10.0.197.189:toport5432 --permanent #添加端口映射 10.0.197.189的54…

Navicat Premium 未保存和已执行SQL存储位置

未保存备份存放目录地址&#xff1a; C:\Users\{登录用户名}\Documents\Navicat\MySQL\servers\{MySQL连接名称}\{数据库名称} SQL执行历史文件地址&#xff1a; C:\Users\{登录用户名}\Documents\Navicat\Premium\logs\LogHistory.txt

正则表达式之反向引用

1.概述 捕获组捕获到的内容&#xff0c;不仅可以在正则表达式外部通过程序进行引用&#xff0c;也可以在正则表达式内部进行引用&#xff0c;这种引用方式就是反向引用。要了解反向引用&#xff0c;首先要了解捕获组&#xff0c;关于捕获组&#xff0c;参考 正则基础之——捕获…