scala - Scala为什么_(下划线)适用于第一个参数而不是第二个参数
问题描述
我正在学习 scala,但我无法理解以下内容。
为什么以下工作?
val colNames = List("salary_new", "age_new", "loc_new")
val colRenameMap = colNames.map(_ -> "a").toMap
但跟随没有?是吗,我只能_
用作第一个参数?这是如何_
工作的?
val colRenameMap = colNames.map(_ -> _.split("")).toMap
解决方案
Luis 已经回答了这个问题,所以让我们将其转换为正确的答案。
val colRenameMap = colNames.map(_ -> _.split("")).toMap
翻译成
val colRenameMap = colNames.map((a,b) => a -> b.split("")).toMap
每次使用 时_
,它都会引用不同的参数。使用它两次,你会得到一个有两个参数的函数,而不是需要单参数的函数map
。在这种情况下,您必须明确并命名您的唯一参数才能使用它两次
val colRenameMap = colNames.map(a => a -> a.split("")).toMap
推荐阅读
- azure - 如何从 html 调用 azure 函数?
- python - Python - 构建依赖关系图并解析结果以发挥作用
- javascript - 是否可以将 html 复制到剪贴板以获取隐藏元素?
- usb - 通过 USB 验证 ADC 数据
- reporting-services - SSRS 重载解析失败,因为没有可访问的“IIf”接受此数量的参数
- arrays - (Mongodb) 使用 $map 聚合函数时出现错误 (BadValue) $in 需要一个数组
- mysql - 如何将阿姆哈拉语数据从mysql数据库导入?
- php - 无法将 PHP 值转换为日期类型。预期以下类型之一:null、DateTime
- python - 我们如何从另一个目录导入模块
- c++ - 在 Xcode 上将 SFML(第三方库)添加到 C++ 项目