Scala 可变参数函数的灵活调用
来源:互联网 发布:淘宝众筹的产品怎么样 编辑:程序博客网 时间:2024/05/29 18:00
在Scala编程中,若函数的参数是可变的,则会被写成String* 的形式,例如在调用Spark的DataFrame 函数 groupBy时的情形:
groupBy 函数原型为:
def groupBy(cols: Column*)那么在日常调用时可以按照传统的可变参数函数调用方式,写成如下形式:
dfRet.groupBy(dfRet("`年龄分段_2`"),dfRet("`性别_2`"))这种方式是可以满足日常使用的,特别是应用程序中对col的数量清晰知道的情况下,那么对于应用程序无法预知参数个数的情况,要怎么处理呢?
首先groupBy的参数是可变的,而应用程序又无法确认API调用层传参的具体个数,所以不能按照传统方式调用。然而Scala是一门FP时语言,这样就给我们提供了一个便利的方式来解决这个应用端参数个数未知的应用场景。
首先可以将参数转换成Seq中的元素,例如:
val arr = Seq(dfRet("`年龄分段_2`"),dfRet("`性别_2`"))然后调用的时候才有如下方式即可:
dfRet.groupBy(arr:_*)这样的调用方式,即将arr 中的所有元素依次传递到groupBy 函数中。
通过上述方法可以发现,在应用程序参数个数未知的情况下,可以先将参数组装成Seq,然后再调用可变参数函数即可。
阅读全文
0 0
- Scala 可变参数函数的灵活调用
- 动态的调用可变参数函数
- 动态的调用可变参数函数
- 动态的调用可变参数函数
- Scala 学习笔记(三)------定义具有可变参数的函数
- PHP中函数参数的调用及其灵活使用方法
- 关于可变参数函数调用
- Golang可变参数函数调用
- 可变参数的函数
- 可变参数的函数
- 可变参数的函数
- 函数的可变参数
- 可变参数的函数
- 函数的可变参数
- 可变参数的函数
- 可变参数列表的函数调用 va_list va_start va_arg va_end
- Scala可变长度参数
- Scala 按名称参数调用函数 与 =>的用法
- 执行mysql命令报错,提示:mysql:command not found
- How to reprint the blogs from BoKeYuan to CSDN
- 关于rem加载闪烁的问题
- L1-039. 古风排版
- 模拟借书系统
- Scala 可变参数函数的灵活调用
- unity实现简单的加密使用次数限制时间限制功能
- CADMeister.v6.1-ISO 1DVD中文版,冲模设计软件
- oracle输出文本格式化命令
- Java多线程系列--【基础篇02】- 常用的实现多线程的两种方式
- Xcode9.1:swift自定义tableview下拉刷新
- C语言小游戏 三子棋
- 【Python学习之路】My Forth journey
- 自定义控件学习笔记(五)Canvas 对绘制的辅助——范围裁切和几何变换