scala - .get(x)行为从何而来?

标签 scala standard-library

Some("abcdefg").get(3)  //res0: Char = d
get()的参数发送到apply()String方法,但是Option(和Some)的source code没有使用参数的get()方法,而String根本没有get方法。

那么什么get()被调用?它是 java 的一颗痣吗?

最佳答案

来自隐式转换的StringOps.apply

augmentString(Some("abcdefg").get)(3)

augmentString 在哪里
@inline implicit def augmentString(x: String): StringOps = new StringOps(x)

关于scala - .get(x)行为从何而来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56849408/

相关文章:

standard-library - 如何使用 Agda 的定界延续实现?

python - python 的任何内置模块都使用线程吗?

scala - 如何使用 Shapeless 提取字段名称?

scala - 为什么 ScalaVersion 设置为 2.11 的 sbt 项目也会加载 2.10

java - maven 中的 IntelliJ 目录小蓝点标签

rust - 我如何知道默认情况下包含哪些 Rust 标准库模块?

java - String类以及Java对其的依赖

scala - InvalidRequestException(为什么 :empid cannot be restricted by more than one relation if it includes an Equal)

scala - Slick - 使用动态 sortBy 编译

c++ - 关于auto_ptr的一个问题