首页 > 其他分享 >Scala函数进阶

Scala函数进阶

时间:2024-10-08 17:23:05浏览次数:9  
标签:进阶 函数 scala Scala 占位 参数 Unit 字面

(一)函数的字面量用语法

1,语法为: (参数列表)=>{方法体}

2,函数的字面量作用

由于scala的函数字面量没有定义函数名,所以可以通过变量进行调用。另外,也可以通过参数的方式进行调用,关于这种方式的介绍将在scala的函数高阶中进一步说明,这里不在展开叙述。

3,scala的函数字面简化

第一种:_(占位符) 如果函数中参数在方法体中只使用一次,可以用_(占位符)替换,当使用_(占位符)替换变量时,需要指明变量类型。

第二种:只有一个表达式时可以省略括号。

(二)把函数作为参数

下面介绍把字面量赋值给函数的方式:简单函数作为参数和除函数外的其他参数,定义一个接受函数作为参数的函数 def a(f:()=>Unit)={},其中函数的类型()=>Unit部分()为函数的参数,Unit为函数的返回值。通过定义字面量传递值时,字面量必须和函数类型匹配。

(三)把函数作为返回值

标签:进阶,函数,scala,Scala,占位,参数,Unit,字面
From: https://blog.csdn.net/GZM1314YMX/article/details/142759572

相关文章

  • C++——有一个Date类,私有成员:月、日、年,公有成员:函数,其作用输出月/日/年,一个构造函数
    没注释的源代码#include<iostream>usingnamespacestd;classDate{private:  intmonth;  intday;  intyear;public:  voiddisplay()  {    cout<<month<<"/"<<day<<"/"<<year<<endl;......
  • C++——有Date类,私有成员:月日年,公有成员:函数,其作用输出月日年。一个构造函数有三个参
    没注释的源代码#include<iostream>usingnamespacestd;classDate{private:  intmonth;  intday;  intyear;public:  voiddisplay()  {    cout<<month<<"/"<<day<<"/"<<year<<endl;......
  • 用函数创建DataFrame:使用字典推导式
    importpandasaspddefmake_df(cols,ind):"""一个简单的DataFrame"""#字典推导式,为每列生成数据data={c:[str(c)+str(i)foriinind]forcincols}#创建并返回DataFramereturnpd.DataFrame(data,ind)#DataFrame示例d......
  • std::bind--改变函数参数的局限
    std::bind是C++标准库中的一个工具,用于将函数对象与部分参数绑定在一起,生成一个新的可调用对象。这使得函数的参数可以被部分或全部提前指定,从而得到一个参数更少甚至无参数的函数对象。在某些情况下,它可以用来延迟执行函数、简化函数调用,或在需要无参函数对象的场景中使用(如线......
  • 讨论jiffies回转的time_after比较函数
    本文讨论jiffies回转的比较函数:#definetime_after(a,b)\((long)(b)-(long)(a)<0)写了个例子如下:#include<stdio.h>#include<stdint.h>#definetime_after(a,b)\((long)(b)-(long)(a)<0)intmain(){unsignedlongla......
  • 【PHP代码审计】危险函数
    什么是危险函数?函数设计出来就是让人使用的,之所以危险,是因为其功能过于强大,开发人员特别是刚从业的人员很少会完整阅读完整个文档,再或者是没有意识到当给这些函数传递一些非常规的,外部可控的参数会带来什么影响。$GET//数组,存放着所有通过URL参数传递的数$POST//数组,......
  • 【PHP代码审计】过滤函数
    一、SQL过滤函数addslashes()stripslashes()addcslashes()stripcslashes()mysql_escape_string()mysql_real_escape_string()PHP魔术引号Addslashes()返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。这些字符是单引号()、双引号(”)、反斜线()......
  • 【STL详解】STL标准模板库入门 | STL版本 | STL六大组件 | STL优点 | 常用STL容器vect
    目录1、概述1.1、C++标准库1.2、Boost开源库2、STL版本2.1、HP原始版本2.2、P.J.实现版本2.3、RW实现版本2.4、SGI实现版本2.5、STLport实现版本3、STL的六大组件3.1、STL六大组件构成3.2、六大组件的交互关系4、STL优点5、STL常用容器vector、list......
  • Python 装饰器模式:增强函数与类的优雅之道
    在Python编程中,装饰器模式(DecoratorPattern)是一种强大且灵活的设计模式,它允许我们在不修改现有函数或类的结构的情况下,动态地添加额外的功能。这种模式遵循了开放-封闭原则,即软件实体(类、模块、函数等)应该对扩展开放,对修改封闭。本文将深入探讨Python中的装饰器模式,......
  • Cesium进阶学习一、Primitive
    一、primitive简介 1、概念:[Primitive](https://cesium.com/learn/cesiumjs/ref-doc/Primitive.html)是Cesium中用于绘制几何图形的另一个重要的接口,相对于[Entity](https://cesium.com/learn/cesiumjs/ref-doc/Primitive.html)来说,它更接近渲染引擎底层,主要面向图形开发......