Scala语言入门

学习了这么久让我们来回顾一下之前的内容吧

Hadoop生态体系知识串讲

在这里插入图片描述

Scala编程语言

一、概述

http://scala-lang.org

专门为计算而生的语言,Scala将(Java后者C++)面向对象设计函数式编程结合在一起的简洁的高级编程语言。而函数式编程强调的是通过传递算子(代码|函数)实现大规模数据集的本地计算。Scala虽然是一门独立的编程语言,但是它可以无缝和Java语言对接。Scala编译的代码可以直接运行在JVM之上。Spark 和 Scala 能够紧密集成,例如 使用Scala语言操作大数据集合的时候,用户可以像是在操作本地数据集那样简单操作Spark上的分布式数据集-RDD(这个概念是Spark 批处理的核心术语),继而简化大数据集的处理难度,简化开发步骤。

.java源文件 ---> java编译器 .class ---> jvm

.scala源文件 ---> scala编译器 .class ---> jvm

二、环境搭建

安装

准备工作

建议JDK1.8以上

C:\Users\Administrator>java -version
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
Scala安装

后续所使用的Scala版本:scala-2.11.12.msi

在这里插入图片描述

配置环境变量
# SCALA_HOME  C:\scala
# PATH		  C:\scala\bin
测试使用
C:\Users\Administrator>scala -version
Scala code runner version 2.11.12 -- Copyright 2002-2017, LAMP/EPFL

三、使用方式

命令窗口

测试使用

REPL命令窗口: R(Read 读取)、E(Evaluation 评估求值)、P(Print 打印)、L(Loop 循环)

C:\Users\Administrator>scala
Welcome to Scala 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_161).
Type in expressions for evaluation. Or try :help.scala> 1+1
res0: Int = 2scala> 1+2
res1: Int = 3

1+1 表达式 执行后返回一个名为 res0 变量,类型为 Int , 计算结果为2

传统方式

使用文本编辑器 写Scala源文件,手动编译 解释执行

编译指令:scalac *.scala

解释执行:scala *

D:\>scalac HelloWorld3.scalaD:\>scala HelloWorld3
Hello World
object HelloWorld3{def main(args:Array[String]):Unit = {println("Hello World")}
}

IDEA集成

需要集成Scala插件

在线安装

在这里插入图片描述

离线安装

注意版本

在这里插入图片描述

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

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

相关文章

【理论学习】Vision-Transformer

文章目录 1. self-attention理论1.1. Attention(Q,K,V)的实现 2. Multi-head Self-Attention理论3. Positional Encoding4. Vision Transformer 声明:本篇文章是我再b站观看博主霹雳吧啦Wz的视频后,做的一篇笔记,推荐大家看完视频在来简单浏览…

react仿照antd progress实现可自定义颜色的直角矩形进度条

可传颜色、带滑块的直角进度条 很歹毒的UI设计&#xff08;真的很丑&#xff09; 实现&#xff1a; class RankProgress extends React.Component {render() {const { percent, progressColor } this.props;return (<div className{styles.progress}><div classNam…

git 使用

参考 https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%8E%B7%E5%8F%96-Git-%E4%BB%93%E5%BA%93 文件的状态变化周期 文章目录 git 基础检查当前文件状态、查看已暂存和未暂存的修改暂存前后的变化跟踪新文件提交更新移除文件移动文件、重命名操作查看提交历史撤消…

从零开始构建基于YOLOv5的目标检测系统

本博文从零开始搭建基于YOLOv5模型的目标检测系统&#xff08;具体系统参考本博主的其他博客&#xff09;&#xff0c;手把手保姆级完成环境的搭建。 &#xff08;1&#xff09;首先Windows R输入cmd命令后打开命令窗口&#xff0c;进入项目目录&#xff0c;本博文以野生动物…

百度的新想象力在哪?

理解中国大模型&#xff0c;百度是一个窗口。这个窗口的特殊性不仅在于变化本身&#xff0c;而是在于百度本身就是那个窗口。 作者|皮爷 出品|产业家 沿着首钢园北区向西北步行10分钟&#xff0c;就能看到一个高约90米的大跳台&#xff0c;在工业园钢铁痕迹的印衬下&#…

Cannot use object of type __PHP_Incomplete_Class as array

场景&#xff1a;将项目复制 出来一份后&#xff0c;修改控制器&#xff0c;打开后就报错 解决&#xff1a;将runtime 清除后就正常了

TikTok Shop新结算政策:卖家选择权加强,电商市场蓄势待发

据悉&#xff0c;从2023年11月1日开始&#xff0c;TikTok Shop将根据卖家的店铺表现来应用3种不同类型的结算期&#xff0c;其中&#xff0c;标准结算期&#xff1a;资金交收期为8个日历日&#xff1b;快速结算期&#xff1a;资金交收期为3个日历日&#xff1b;延长结算期&…

企业数字化转型时,会遇到的5大挑战

企业数字化转型时&#xff0c;会遇到的5大挑战添加链接描述 数字化转型已然是当今商业战略的一大基石&#xff0c;根据Gartner的《2023年度董事会调查》显示&#xff0c;有89%的企业将数字业务视为其增长的核心。但该研究的另一项统计数据也显示&#xff1a;在这些企业中&…

KingBase库模式表空间和客户端认证(kylin)

库、模式、表空间 数据库 数据库基集簇与数据库实例 KES集簇是由单个KES实例管理的数据库的集合KES集簇中的库使用相同的全局配置文件和监听端口、共享相关的进程和内存结构同一数据库集簇中的进程、相关的内存结构统称为实例 数据库 数据库是一个长期存储在计算机内的、有…

AI猫咪穿搭也太萌了!用AI写出好故事的22条诀窍;吴恩达AI新课预告;2024年十大战略技术趋势 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f525; 可口可乐与好利来跨界联名&#xff0c;推出与AI共创的新品巧克力 继「酱香拿铁」后又有一款跨界合作让人眼前一亮——可口可乐与好利来…

通用音乐播放器蜂鸣器AX301开发板verilog,视频/代码

名称&#xff1a;通用音乐播放器代码&#xff0c;蜂鸣器播放音乐 软件&#xff1a;Quartus 语言&#xff1a;Verilog 代码说明&#xff1a;本代码为音乐播放器通用代码&#xff0c;只需修改管脚即可适配其他开发板 代码功能&#xff1a; 设计一个音乐播放器&#xff0c;使用…

解决一则诡异的javascript函数不执行的问题

有个vue 音乐播放器项目&#xff0c;由于之前腾讯的搜索接口没法用了&#xff0c;于是改成了别家的搜索接口。 但是由于返回数据结构不一样&#xff0c;代码重构的工作量还是挺大的&#xff1a;包括数据请求&#xff0c;数据处理&#xff0c;dom渲染&#xff0c;处理逻辑都进行…

Elasticsearch:什么是余弦相似度?

余弦相似度是数据科学、文本分析和机器学习领域的基本概念。 如果你想知道什么是余弦相似度或者它如何在现实世界的应用程序中使用&#xff0c;那么你来对地方了。 本指南旨在让你深入了解相似性是什么、其数学基础、优点及其在不同领域的各种应用。读完本指南后&#xff0c;你…

PHP 变量

变量 变量的声明、使用、释放 变量定义 形式 $ 变量名;严格区分大小写 $name; $Name; $NAME //三个变量不是同一个变量字母、数字、下划线组成&#xff0c;不能以数字开头&#xff0c;不能包含其他字符(空白字符、特殊字符) 驼峰式命名法、下划线式命名法 $first_name; $fi…

在 Visual Studio Code (VS Code) 中设置

在 Visual Studio Code (VS Code) 中设置代理服务器的详细教程如下&#xff1a; 打开 Visual Studio Code。 在顶部菜单栏中&#xff0c;点击 "File"&#xff08;文件&#xff09; > "Preferences"&#xff08;首选项&#xff09; > "Settings…

IP协议(上)

目录 一、初步认识IP协议 二、认识IP地址 三、协议报头格式 1.报头和有效载荷分离 2.20字节的固定数据 四、网段划分 1.一个小例子 2.认识IP地址的划分 3.数据的传输过程 4.特殊的IP地址 5.通信运营商 &#xff08;1&#xff09;通信运营商的作用 &#xff08;2&a…

如何利用考培系统进行个性化学习和评估

考培系统作为一种现代化的学习和评估工具&#xff0c;可以为学生提供个性化的学习和评估服务。它利用先进的技术和算法&#xff0c;根据学生的学习情况和需求&#xff0c;为其量身定制学习计划&#xff0c;并提供相应的评估反馈。 1. 个性化学习 考培系统通过分析学生的学习情…

javaEE - 2(11000字详解多线程)

一&#xff1a;多线程带来的的风险-线程安全 线程安全的概念&#xff1a;如果多线程环境下代码运行的结果是符合我们预期的&#xff0c;即在单线程环境应该的结果&#xff0c;则说这个程序是线程安全的。 当多个线程同时访问共享资源时&#xff0c;就会产生线程安全的风险&am…

【AIGC核心技术剖析】扩大富有表现力的人体姿势和形状估计SMPLer-X模型

富有表现力的人体姿势和形状估计 (EHPS) 将身体、手和面部运动捕捉与众多应用结合起来。尽管取得了令人鼓舞的进展,但当前最先进的方法仍然在很大程度上依赖于有限的训练数据集。在这项工作中,我们研究了将 EHPS 扩展到第一个通用基础模型(称为 SMPLer-X),以 ViT-Huge 作为…

【译】快速开始 Compose 跨平台项目

原文&#xff1a; Compose Multiplatform application 作者&#xff1a;JetBrains 注意 Compose Multiplatform 中的 iOS 部分目前处于 Alpha 状态。以后可能会有不兼容的更改&#xff0c;届时也许需要手动进行迁移。 你可以使用这个模板来开发同时支持桌面、安卓和 iOS 的跨平…