当前位置: 首页 > news >正文

【Scala】 2. 函数

2. 函数

scala运算符、if … else …两部分和C语言类型,这里不再赘述,这里从for循环开始讲讲scala和c/c++的不同之处。

2.1 for循环

scala中主要包含to和until两个关键字,下面分别看看两者的用法,看例子就行了。

(1) to的用法

scala的例子使用to关键字如下:

var e = 0;  
for (e <- 0 to 5) {  println(f"e[$e%d] = " + (e + 1))  
}

打印出的结果如下:

e[0] = 1
e[1] = 2
e[2] = 3
e[3] = 4
e[4] = 5
e[5] = 6
(2) until的用法

scala的例子使用to关键字如下:

var e = 0;  
for (e <- 0 until 5) {  println(f"e[$e%d] = " + (e + 1))  
}

打印出的结果如下:

e[0] = 1
e[1] = 2
e[2] = 3
e[3] = 4
e[4] = 5

该结果和C语言中使用的方式是一致的。

2.2 函数

和c语言类似,基本可以作为参考,智能在于可以直接不写访问值和return关键字实现,下面举例说明。

(1)完整的实现方式
	// first way:  def sum(a: Int, b: Int): Int = {  return (a+b)  }

包含return值和返回值类型

(2)不包含返回值类型
	// second way:  def sum(a: Int, b: Int): Int = {  return a+b  }

包含return关键字

(3)不包含返回值类型和return关键字
	// third way:  def sum(a: Int, b: Int) = {  a+b  }

啥都省下来。

注:

  • 函数值包含缺省值,直接在变量后添加,举例如下:
	// third way:  def sum(a: Int, b: Int = 1) = {  a+b  }

此时调用时若需要采用缺省值,变量b可以不赋值。

	def main(args: Array[String]): Unit = {  val a = 8;  println(f"$a%d + 3 = " + sum(a))}
  • apply函数为一类特殊的函数,可在object和class中通过object名或class名的方式直接调用,举例如下:
object func {  def main(args: Array[String]): Unit = {  // 调用func object对象中的apply函数  func()  }  def apply() = {  println ("apply func test")  }
  • object对象中的main函数为scala语言中入口函数,即从此处开始运行。

相关文章:

【Scala】 2. 函数

2. 函数 scala运算符、if … else …两部分和C语言类型&#xff0c;这里不再赘述&#xff0c;这里从for循环开始讲讲scala和c/c的不同之处。 2.1 for循环 scala中主要包含to和until两个关键字&#xff0c;下面分别看看两者的用法&#xff0c;看例子就行了。 (1) to的用法 …...

14.0 Zookeeper环球锁实现原理

全局锁是控制全局系统之间同步访问共享资源的一种方式。 下面介绍zookeeper如何实现全民锁&#xff0c;讲解他锁和共享锁两类全民锁。 排他锁 排他锁&#xff08;Exclusive Locks&#xff09;&#xff0c;又被称为写锁或独占锁&#xff0c;如果事务T1对数据对象O1加上排他锁…...

课时16:本地变量_普通变量

2.2.2 普通变量 学习目标 这一节&#xff0c;我们从 基础知识、简单实践、小结 三个方面来学习。 基础知识 变量分类 所谓的本地变量就是&#xff1a;在当前系统的某个环境下才能生效的变量&#xff0c;作用范围小。本地变量按照变量值的生成方式包含两种&#xff1a;普通…...

阿里云服务器centos_7_9_x64位,3台,搭建k8s集群

目录 1.环境信息 2.搭建过程 2.1 安装Docker源 2.2 安装Docker 2.3 安装kubeadm&#xff0c;kubelet和kubectl 2.4 部署Kubernetes Master(node1) 2.5 安装Pod网络插件&#xff08;CNI&#xff09; 2.6 加入Kubernetes Node 2.7 测试kubernetes集群 3.部署 Dashboard…...

代码随想录第二十八天

第七章 回溯算法part04 ​ ● 93.复原IP地址 ​ ● 78.子集 ​ ● 90.子集II 详细布置 93.复原IP地址 本期本来是很有难度的&#xff0c;不过 大家做完 分割回文串 之后&#xff0c;本题就容易很多了 题目链接/文章讲解&#xff1a;https://programmercarl.com/0093.%E5…...

【python】绘制爱心图案

以下是一个简单的Python代码示例&#xff0c;它使用turtle模块绘制一个代表爱和情人节的心形图案。 首先&#xff0c;请确保计算机上安装了Python和turtle模块。然后&#xff0c;将以下代码保存到一个.py文件中&#xff0c;运行它就可以看到爱心图案的绘制过程。 import turt…...

在 Elastic Agent 中为 Logstash 输出配置 SSL/TLS

要将数据从 Elastic Agent 安全地发送到 Logstash&#xff0c;你需要配置传输层安全性 (TLS)。 使用 TLS 可确保你的 Elastic Agent 将加密数据发送到受信任的 Logstash 服务器&#xff0c;并且你的 Logstash 服务器从受信任的 Elastic Agent 客户端接收数据。 先决条件 确保你…...

Vue中对虚拟DOM的理解

作为现代前端开发中的主流框架之一&#xff0c;Vue.js是一个非常流行的JavaScript框架&#xff0c;其核心概念之一就是虚拟DOM&#xff08;Virtual DOM&#xff09;。在本篇文章中&#xff0c;我们将深入探讨Vue中虚拟DOM的概念&#xff0c;并讨论为什么它在前端开发中如此重要…...

golang通用后台管理项目——Go+Vue通用后台管理项目实战

GoVue通用后台管理项目实战 1、掌握组件中业务逻辑抽离的方法 2、掌握jwt,日志,跨域,鉴权中间件的使用 3、掌握基于gorm的sql多表查询 4、掌握gin-swag的应用 5、掌握go语言开发前后端分离项目的能力 6、从0到1开发完整前后端分离项目的能力 技术栈&#xff1a; go后端 ging…...

推动海外云手机发展的几个因素

随着科技的不断发展&#xff0c;海外云手机作为一种新兴技术&#xff0c;在未来呈现出令人瞩目的发展趋势。本文将在用户需求、技术创新和全球市场前景等方面&#xff0c;探讨海外云手机在未来的发展。 1. 用户需求的引领&#xff1a; 随着人们对移动性和便捷性的需求不断增长&…...

python coding with ChatGPT 打卡第17天| 二叉树:找树左下角的值、路径总和

相关推荐 python coding with ChatGPT 打卡第12天| 二叉树&#xff1a;理论基础 python coding with ChatGPT 打卡第13天| 二叉树的深度优先遍历 python coding with ChatGPT 打卡第14天| 二叉树的广度优先遍历 python coding with ChatGPT 打卡第15天| 二叉树&#xff1a;翻转…...

2020年通信工程师初级 综合能力 真题

文章目录 第1章 通信职业道德&#xff0c;1-4第2章 法律法规&#xff0c;5-16第3章 计算机应用基础&#xff0c;第5章 现代通信网&#xff0c;38英语题&#xff0c;91 第1章 通信职业道德&#xff0c;1-4 1、职业道德在形式上具有()特点。 A.一致性 B.统一性 C.多样性 D.一般性…...

12.0 Zookeeper 数据同步流程

在 Zookeeper 中&#xff0c;主要依赖 ZAB 协议来实现分布式数据一致性。 ZAB 协议分为两部分&#xff1a; 消息广播崩溃恢复 消息广播 Zookeeper 使用单一的主进程 Leader 来接收和处理客户端所有事务请求&#xff0c;并采用 ZAB 协议的原子广播协议&#xff0c;将事务请求…...

作业2.6

一、填空题 1、一个类的头文件如下所示&#xff0c;num初始化值为5&#xff0c;程序产生对象T&#xff0c;且修改num为10&#xff0c;并使用show()函数输出num的值10。 #include <iostream.h> class Test { private: static int num; public: Test(int); void sh…...

Qt应用软件【协议篇】TCP示例

文章目录 TCP协议简介Qt中的TCP编程完整代码示例实际使用中的技巧实际使用中的注意事项TCP协议简介 TCP(传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。与UDP不同,TCP提供了数据包排序、重传机制、流量控制和拥塞控制,确保了数据传输的可靠性和顺序…...

C# CAD交互界面-自定义面板集(四)

运行环境 vs2022 c# cad2016 调试成功 一、引用 using Autodesk.AutoCAD.Runtime; using Autodesk.AutoCAD.Windows; using System.Windows.Forms; 二、程序说明 创建自定义面板集&#xff08;PaletteSet&#xff09;的C#命令方法实现。该方法名为CreatePalette&#xff…...

物流自动化移动机器人|HEGERLS三维智能四向穿梭车助力优化企业供应链

智能化仓库/仓储贯穿于物流的各个环节&#xff0c;不局限于存储、输送、分拣、搬运等单一作业环节的自动化&#xff0c;更多的是利用科技手段实现整个物流供应链流程的自动化与智能化&#xff0c;将传统自动化仓储物流各环节进行多维度的有效融合。 例如在数智化物流仓储的建设…...

EasyExcel下载带下拉框和批注模板

EasyExcel下载带下拉框和批注模板 一、 代码实现 controller下载入口 /***下载excel模板* author youlu* date 2023/8/14 17:31* param response* param request* return void*/PostMapping("/downloadTemplate")public void downloadExcel(HttpServletResponse r…...

C语言之字符逆序(牛客网)

个人主页&#xff08;找往期文章包括但不限于本期文章中不懂的知识点&#xff09;&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 字符逆序__牛客网 题目&#xff1a; 思路&#xff1a;既然有空格就不能用scanf函数来接收字符了。因为scanf函数遇到空格会停止读取。我们可以用get…...

RAPTOR:树组织检索的递归抽象处理

RAPTOR: RECURSIVE ABSTRACTIVE PROCESSING FOR TREE-ORGANIZED RETRIEVAL Title&#xff1a;树组织检索的递归抽象处理 https://arxiv.org/pdf/2401.18059.pdf 摘要 检索增强语言模型可以更好的融入长尾问题&#xff0c;但是现有的方法只检索短的连续块&#xff0c;限制了整…...

提升输入效率:Qwerty Learner开源键盘训练工具的肌肉记忆训练方案

提升输入效率&#xff1a;Qwerty Learner开源键盘训练工具的肌肉记忆训练方案 【免费下载链接】qwerty-learner 项目地址: https://gitcode.com/GitHub_Trending/qw/qwerty-learner Qwerty Learner是一款开源键盘训练工具&#xff0c;通过将单词记忆与英语肌肉记忆训练…...

从Buck电路到PCB布局:DCDC带载异常的硬件设计避坑手册

从Buck电路到PCB布局&#xff1a;DCDC带载异常的硬件设计避坑手册 在电源设计领域&#xff0c;Buck电路因其高效、紧凑的特性成为各类电子设备的首选方案。然而&#xff0c;许多工程师在初次接触DCDC转换器设计时&#xff0c;常常会遇到一个令人困惑的现象&#xff1a;空载测试…...

BooruDatasetTagManager 2.5.0:重构AI训练数据标注的技术架构与效率范式

BooruDatasetTagManager 2.5.0&#xff1a;重构AI训练数据标注的技术架构与效率范式 【免费下载链接】BooruDatasetTagManager 项目地址: https://gitcode.com/gh_mirrors/bo/BooruDatasetTagManager 在计算机视觉和生成式AI模型训练的工作流中&#xff0c;数据标注的质…...

PyRadiomics环境配置全攻略:从依赖冲突到稳定运行的系统化解法

PyRadiomics环境配置全攻略&#xff1a;从依赖冲突到稳定运行的系统化解法 【免费下载链接】pyradiomics Open-source python package for the extraction of Radiomics features from 2D and 3D images and binary masks. Support: https://discourse.slicer.org/c/community/…...

Loop:重新定义macOS窗口管理的艺术与科学

Loop&#xff1a;重新定义macOS窗口管理的艺术与科学 【免费下载链接】Loop MacOS窗口管理 项目地址: https://gitcode.com/GitHub_Trending/lo/Loop 在数字工作空间中&#xff0c;窗口管理不再是简单的排列组合&#xff0c;而是一种提升专注力与创造力的空间艺术。Loop…...

OpenVoice语音合成技术全解析:从痛点突破到多场景落地实践

OpenVoice语音合成技术全解析&#xff1a;从痛点突破到多场景落地实践 【免费下载链接】OpenVoice 项目是MyShell AI开源的即时语音克隆技术OpenVoice&#xff0c;旨在提供一种能够快速从少量语音样本中准确复制人类声音特征&#xff0c;并实现多种语言及语音风格转换的解决方案…...

AI结对编程:利用快马平台智能助手深度理解和优化PyTorch代码

最近在折腾PyTorch项目时&#xff0c;发现很多细节问题光靠查文档效率太低。后来尝试用InsCode(快马)平台的AI辅助功能&#xff0c;发现它不仅能解释代码原理&#xff0c;还能直接给出优化方案&#xff0c;简直是深度学习开发的"外挂"。分享几个实用场景&#xff1a;…...

Kubernetes资源监控与告警:从指标到行动的完整闭环

Kubernetes资源监控与告警&#xff1a;从指标到行动的完整闭环没有监控的集群就是黑盒&#xff0c;没有告警的监控就是摆设。监控体系架构 一个完整的K8s监控体系包含三个层次&#xff1a; ┌────────────────────────────────────────…...

AI开发者必备:PyTorch 2.8镜像在视频生成场景下的完整应用教程

AI开发者必备&#xff1a;PyTorch 2.8镜像在视频生成场景下的完整应用教程 1. 环境准备与快速部署 1.1 镜像基础信息 PyTorch 2.8深度学习镜像是一个专为高性能AI任务设计的预配置环境&#xff0c;特别针对RTX 4090D显卡和视频生成任务进行了优化。主要特点包括&#xff1a;…...

保姆级教程:用星图AI平台训练PETRV2-BEV模型,新手也能玩转自动驾驶

保姆级教程&#xff1a;用星图AI平台训练PETRV2-BEV模型&#xff0c;新手也能玩转自动驾驶 1. 前言&#xff1a;为什么你需要这篇教程&#xff1f; 如果你对自动驾驶技术感兴趣&#xff0c;想亲手训练一个能“看懂”周围环境的AI模型&#xff0c;但又被复杂的代码、昂贵的硬件…...