搭建Scala开发环境

news2025/2/13 5:24:26

一、Windows上安装Scala

1、到Scala官网下载Scala

Scala2.13.10下载网址:https://www.scala-lang.org/download/2.13.10.html
单击【scala-2.13.10.msi】超链接,将scala安装程序下载到本地
在这里插入图片描述

2、安装Scala

双击安装程序图标,进入安装向导,按提示进行操作,完成Scala的安装
安装到默认的位置:C:\Program Files (x86)\scala,当然你也可以安装到其它位置

3、配置Scala环境变量

设置Windows系统的环境变量
在这里插入图片描述

4、测试Scala是否安装成功

(1)查看Scala版本

启动命令行窗口,执行scala -version命令,若能正确输出当前Scala版本信息,则说明安装成功
在这里插入图片描述

(2)启动Scala,执行语句

在命令行提示后输入scala,则会进入Scala的命令行模式,在此可以编写Scala表达式和程序
在这里插入图片描述

二、Linux上安装Scala

1、到Scala官网下载Scala

Scala2.13.10下载网址:https://www.scala-lang.org/download/2.13.10.html
单击【scala-2.13.10.tgz】超链接,将scala安装包下载到本地
在这里插入图片描述

2、安装Scala

(1)登录ied虚拟机

利用FinalShell登录ied虚拟机
在这里插入图片描述

(2)上传scala安装包到ied虚拟机

进入/opt目录,将scala安装包上传到该目录
在这里插入图片描述

(3)解压scala安装包到指定目录

执行命令:tar -zxvf scala-2.13.10.tgz -C /usr/local

3、配置Scala环境变量

执行命令:vim /etc/profile
在这里插入图片描述
存盘退出后,执行命令:source /etc/profile,让环境配置生效

4、测试Scala是否安装成功

(1)查看Scala版本

执行scala -version命令,若能正确输出当前Scala版本信息,则说明安装成功
在这里插入图片描述
报错,原因在于没有安装JDK(运行Scala要用到Java虚拟机)
上传、安装、配置JDK
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

配置好JDK之后,查看Scala版本
在这里插入图片描述

(2)启动Scala,执行语句

在命令行提示后输入scala,则会进入Scala的命令行模式,在此可以编写Scala表达式和程序
在这里插入图片描述
演示语句块的返回值,语句块最后一条语句的值就是整个语句块的值
在这里插入图片描述

演示if-else结构的返回值
在这里插入图片描述
打印字符直角三角形
在这里插入图片描述

三、​Scala的使用

1、交互模式

在命令行下直接敲命令或通过命令直接执行程序文件

(1)命令行方式

直接在scala>提示符后敲代码执行
在这里插入图片描述
在scala>提示符之后输入:quit (或者按快捷键:Ctrl + D),退出scala交互模式
在这里插入图片描述

(2)文件方式

将代码写在xxx.scala文件中,通过scala xxx.scala执行文件中的代码
创建/scala_work目录,进入该目录,执行命令:vim sum.scala
在这里插入图片描述

在这里插入图片描述

执行命令:scala sum.scala
在这里插入图片描述

2、编译模式

将代码写在.scala文件中,通过编译命令将.scala编译为.class,然后去解释执行。在.scala文件中编写好代码,创建对象,包含入口函数。通过scalac 或 fsc 命令进行编译,产生对应的.class文件。再通过scala命令来解释执行对象。scalac 和 fsc 都可以进行编译工作,区别是fsc会启动后台服务常驻系统后台,这样后续再进行编译的时候,速度就可以很快。

(1)创建源程序

在\scala_work目录里创建文件HelloWorld.scala
在这里插入图片描述

在这里插入图片描述

(2)编译成字节码

利用scalac将HelloWorld.scala编译成字节码文件HelloWorld.class
在这里插入图片描述

(3)解释执行对象

执行命令:scala HelloWorld,运行程序,查看结果
在这里插入图片描述

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

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

相关文章

笔试强训错题总结(二)

笔试强训错题总结(二) 选择题 下列哪一个是析构函数的特征() A. 析构函数定义只能在类体内 B. 一个类中只能定义一个析构函数 C. 析构函数名与类名不同 D. 析构函数可以有一个或多个参数 析构函数可以在类中声明&#xff0c…

np.arange()用法+reshape+np.dot()

1.np.arange()用法 np.arange()函数返回一个有终点和起点的固定步长的排列 # 参数个数情况: np.arange()函数分为一个参数,两个参数,三个参数三种情况 # 1)一个参数时,参数值为终点,起点取默认值0&#xff…

SpringBootSecurity 简单明了

在autoConfiguration Jar的imports文件里面有 SecurityFilterAutoConfiguration类,这样springboot会自己加载这个类。 该类的作用是向容器内部注入一个RegisterBean叫DelegatingFilterProxyRegistrationBean,由于它同时实现了ServletContextInitializer接…

Redis问题处理

1、jemalloc/jemalloc.h:没有那个文件或目录 解决方法: 正确解决办法(针对2.2以上的版本) 清理上次编译残留文件,重新编译 make distclean && make

【学术小白如何写好论文】文献综述

文章目录 一、前言1.目的2.作用 二、切入角度三、写作方法 一、前言 前言:在撰写这部分的时候,我们首先要明确文献综述的目的是什么,作用是什么。 1.目的 梳理前人研究的脉络找出前人研究的不足 2.作用 让本研究更充实,告诉读者…

路径规划算法:基于蛾群优化的路径规划算法- 附代码

路径规划算法:基于蛾群优化的路径规划算法- 附代码 文章目录 路径规划算法:基于蛾群优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法蛾群…

SpringSecurity实现前后端分离登录token认证详解

目录 1. SpringSecurity概述 1.1 权限框架 1.1.1 Apache Shiro 1.1.2 SpringSecurity 1.1.3 权限框架的选择 1.2 授权和认证 1.3 SpringSecurity的功能 2.SpringSecurity 实战 2.1 引入SpringSecurity 2.2 认证 2.2.1 登录校验流程 2.2.2 SpringSecurity完整流程 2.2.…

翻译的技巧

400字左右的文章中划出5个句子, 30分钟内将其翻译成中文,分值10分。文章的题材大多是有关政治、经济、文化、教育、科普以及社会生活,议论文为主,说明文为辅,结构严谨,逻辑性强,长难句较多。不仅…

基于深度学习的高精度人脸口罩检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度人脸口罩检测识别系统可用于日常生活中或野外来检测与定位人脸口罩目标,利用深度学习算法可实现图片、视频、摄像头等方式的人脸口罩目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5…

mcu:利用Cortex-M中的DWT实现高精度计时

1、Cortex-M中的DWT 在Cortex-M里面有一个外设叫DWT(Data Watchpoint and Trace),是用于系统调试及跟踪。 它有一个32位的寄存器叫CYCCNT,它是一个向上的计数器,记录的是内核时钟运行的个数,内核时钟跳动一次,该计数器…

node-red 部署案例指导

配置node-red静态资源目录 找到 node-red 的设置文件 可以在启动日志中看到 以我的为例 C:\Users\fizz\.node-red\settings.js 我们在.node-red目录创建一个static目录。用于存放静态文件。 然后修改setting.js的 httpStatic: ‘C:/Users/fizz/.node-red/static/’, 重启…

探索戴森在科技行业的统治地位:分析其后吹风机的成功

2016年,戴森(Dyson)公司推出重新定义审美与功能的吹风机Supersonic,定价为3000元,七年来,Supersonic不仅没有因其价格远高于竞品而被市场淘汰,反而稳居国内市场吹风机的“龙头宝座“&#xff0c…

低秩矩阵(Low-Rank)的意义

1.回顾基础: 矩阵的秩度量的是矩阵行列之间的相关性,如果各行各列都是线性无关的,矩阵就是满秩。非零元素的行或列决定了秩的大小。//划重点,秩可以度量矩阵自身相关性 讲个小故事…

调用阿里API实现全国快递物流查询

作者介绍 王梅(姓名),女(性别),西安工程大学电子信息学院,2022级研究生 研究方向:机器视觉与人工智能 电子邮件:1095647386qq.com 王泽宇,男,西安工程大学电子信息学院…

一文让你轻松拿捏 Spring MVC

博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌ Java知识图谱点击链接:体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收…

高完整性系统——霍尔逻辑

文章目录 霍尔三元组案例1案例2 逻辑推导规则forward v.s. backwardforwardbackward rule of assignmentrules of consequence结合上述两个 rulerule of sequencing更大的程序案例skip ruleconditional rule案例 要证明这个程序需要从上往下进行,先单独证明 f:1, i:…

你“被”全链路了么?全链路压测实践之理论

要说当下研发领域最热门的几个词,全链路压测 肯定跑不了。最近的几次大会上,也有不少关于全链路的议题。之前有朋友在面试过程中也有被问到了什么是全链路压测,如何有效的开展全链路压测。今天我们就来聊聊全链路压测,但本文不会涉…

Redis.conf 详解

我们启动 Redis,一般都是通过 Redis.conf 启动。 因此,我们必须了解 Redis.conf 的配置,才能更好理解和使用 Redis。 单位 单位注意事项:当需要内存大小时,可以指定为1k 5GB 4M等 通常形式: 1k > 1000字…

搜索在计算机中的地位十分重要

无论是在内部系统还是在外部的互联网站上,都少不了检索系统。数据是为了用户而服务。计算机在采集数据,处理数据,存储数据之后,各种客户端的操作pc机或者是移动嵌入式设备都可以很好的获取数据,得到 想要的数据服务。 …

k8s学习-CKS考试必过宝典

目录 CKS考纲集群安装:10%集群强化:15%系统强化:15%微服务漏洞最小化:20%供应链安全:20%监控、日志记录和运行时安全:20% 报名模拟考试考试注意事项考前考中考后 参考 CKS考纲 集群安装:10% 使…