- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对 functor 的简单理解是,它只是可以映射到 u.map(f)
上的东西,具有以下约束:-
f
必须是函数f
可以返回任意值,类型可以改变map
必须返回相同 Functor
的值,即。容器的形状和结构不得改变。 还有一个例子。
scala> List(1, 2, 3).map(x => s"$x")
res8: List[String] = List(1, 2, 3)
我的问题:-
StringOps
将隐式包装一个 java.lang.String
以使用索引序列常用的操作扩展它 - 例如 map
。
但以下内容让我有些困惑。
scala> "Tera".map(x => s"$x").map(x => s"$x")
res12: scala.collection.immutable.IndexedSeq[String] = Vector(T, e, r, a)
我假设 map
只会返回一个 scala.Predef.String
而不是 IndexedSeq[String]
因为定义了一个仿函数 是它的形状/结构应该保持不变。
这是否仍然符合 仿函数 的定义,因为 scala.Predef.String
IS-A IndexedSeq[String]
?
最佳答案
不,String
不是仿函数,正是因为它只能包含 Char
。
Does this still meet the definition of a functor because scala.Predef.String IS-A IndexedSeq[String] ?
它不是(它不是任何东西的 IndexedSeq
,它只能隐式转换为 IndexedSeq[Char]
),它不是。
关于scala - 字符串 + StringOps = 仿函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40172060/
Scala 似乎将 String 类型的对象转换为 StringOps。这是怎么做到的? IE。 Scala 如何以及何时将 String 对象转换为 StringOps? 最佳答案 有一个从 Str
我对 functor 的简单理解是,它只是可以映射到 u.map(f) 上的东西,具有以下约束:- f 必须是函数 f 可以返回任意值,类型可以改变 map 必须返回相同 Functor 的值,即。容
我尝试使用 foreach 计算字符串的 unicode 值的乘积。 scala> var s:Long = 1;"Hello".foreach(s *= _) s: Long = 941508748
我使用的是 Fedora 21: scala 2.10.3 java 1.8.0 sbt 0.13.1 Scala 和 java 使用 yum 安装。 Sbt 手动安装,并在 ~/.bashrc 文件
我只是在学习 Scala,所以如果已经讨论过,我很抱歉,但以下对我来说似乎有点奇怪: scala> import scala.collection.immutable._ import scala.c
在下面的代码片段中(使用 scala 2.10.3)TestClass1 没有编译错误“value toInt is not a member of String”但是 TestClass2 编译良好
我试图拆分一个字符串并保留空字符串。幸运的是,我找到了一个有前途的解决方案,它给了我预期的结果,如下REPL session 所述: scala> val test = ";;".split(";",
我正在尝试运行 gcc 编译器来生成可执行文件,但每当我在终端中运行“make”命令时都会收到此消息: Scanning dependencies of target my_libs-atmega32
我试图在 scala 中计算字符串“Hello”的 unicode 的乘积。在 StringOps scala API 中,我找到了 fold 和 foldLeft 方法,并使用上述两种方法编写了一些
我知道较新的 GCC 版本引入了可能错误的字符串操作“stringop-truncation”的警告 这是我可以轻松触发此警告的示例代码: $ cat strncpy-warning.cxx #inc
我正在通过练习“不耐烦的 Scala”一书中的练习来学习 Scala。一个问题问: The result of "abc".map(_.toUpper) is a String, but the re
我已经尝试构建 Linux 内核,但遇到了一些编译错误。有谁知道我做错了什么以及如何解决? (或者,您需要哪些额外信息?) 构建系统正在运行最新的 Fedora:4.19.6-300.fc29.x86
我正在尝试在 Scala 2.8.1 中运行一个名为 LinkedIn Norbert (https://github.com/linkedin/norbert) 的开源程序。我添加了所有 jar 文
我是一名优秀的程序员,十分优秀!