为什么Scala中Array.map的定义是“throw new Error()”

2023-11-23

的源代码map for Array is:

override def map[B](f: A => B): Array[B] = throw new Error()

但以下有效:

val name : Array[String]= new Array(1)
name(0)="Oscar"
val x = name.map {  ( s: String ) => s.toUpperCase }
// returns: x: Array[java.lang.String] = Array(OSCAR)

一般来说,当你看到throw new Error()在库类的源代码中,它代表编译器通过桥接到平台设施(记住这可以是 Java 或 .NET)来干预和实现该方法的点。

The 阵列SID解释了 Scala 2.7.x 中如何处理数组,以及它们在 2.8 中如何变化。编译器用于神奇地将对象转换为BoxedArray如果你打电话map.

在 2.8 中,将数组集成到 Scala 集合框架中主要是通过使用普通语言功能来处理的——从Array[T] to WrappedArray[T] or ArraySeq[T],取决于上下文和类型的隐式参数Manifest[T]支持创建泛型类型的数组T. Array indexing, length and update仍然显示为throw new Error(). Array#map不再存在,而是您在WrappedArray and ArraySeq作为常规方法。

UPDATE

如果您有兴趣了解这个编译器魔法的定义,请查看 Scala 2.8 的化身清理.scala.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么Scala中Array.map的定义是“throw new Error()” 的相关文章

  • 阶乘的 Scala 排列

    我怎样才能找到n Scala 中某些字母的排列 Scala 2 9 RC1 scala gt abc permutations toList res58 List String List abc acb bac bca cab cba
  • 使用 Spray-json 解析简单数组

    我正在尝试 但失败了 了解 Spray json 如何将 json feed 转换为对象 如果我有一个简单的 key gt value json feed 那么它似乎可以正常工作 但是我想要读取的数据出现在如下列表中 name John a
  • 如何在 Scala 中打印任何内容的列表?

    目前我有一个打印整数的方法 def printList args List Int Unit args foreach println 我如何修改它 使其足够灵活 可以打印任何内容的列表 您不需要专用的方法 所需的功能已经在集合类中 pri
  • Java 表达式树 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有相当于 net的 LINQ 下的表达式树JVM 我想实现一些类似 LINQ 的代码结构Scala
  • Scala:如何在超类上实现克隆方法,并在子类中使用它?

    我可能会以错误的方式处理这个问题 但我想要一个像这样的对象 class MyDataStructure def myClone val clone new MyDataStructure do stuff to make clone the
  • 使用 scala 集合 - CanBuildFrom 麻烦

    我正在尝试编写一个接受任何类型集合的方法CC 并将其映射到一个新的集合 相同的集合类型但不同的元素类型 我正在挣扎 基本上我正在尝试实施map but 不在集合本身上 问题 我正在尝试实现一个带有签名的方法 它看起来有点像 def map
  • 按字符分割字符串

    scala 有一个标准的分割字符串的方法StringOps split 但它的行为有点让我惊讶 演示一下 使用快捷便利功能 def sp str String str split toList 以下表达式全部计算结果为 true sp Li
  • 关于 scala.math.Integral 的问题

    有什么方法mkNumericOps andmkOrderingOps of scala math Integral http www scala lang org api current scala math Integral html我们
  • Shapeless 和 gremlin scala:如何返回调用 `as` 的结果?

    所以 我调用这个函数as from gremlin scala case class GremlinScala End Labels lt HList traversal GraphTraversal End def as name Str
  • sbt 项目构建中的多个目标目录

    我有一个这样结构的 sbt 项目 build sbt project build properties plugins sbt src main java smcho App java test java smcho AppTest jav
  • 为什么你需要创建这些 json 读/写,而在 java 中你不需要创建这些 json 读/写?

    如果我错了 请纠正我 但是当使用 Java 和 Spring MVC 时 您不必创建这些额外的类来将 Java 类映射到 JSON 以及将 JSON 映射到类 为什么必须在 Play with Scala 中执行此操作 和Scala有关系吗
  • Scala sbt 项目给出 NullPointerException?

    当我运行命令时sbt clean compile run在我的 sbt 项目中 它给出了空指针异常 这是控制台输出 info Loading project definition from home dnilesh workspace wi
  • 如何在Slick 3.0.0中使用StaticQuery?

    在 Slick 2 1 中 我使用以下代码从文件执行 sql 查询 def fetchResult T sql String implicit getResult GetResult T List T val query Q queryNA
  • java.lang.OutOfMemoryError:Scala 上超出了 GC 开销限制

    我是 Scala 开发人员 我在Routes它包含的文件1008行如果我添加另一行 则会抛出下面的错误 Uncaught error from thread sbt web scheduler 1 shutting down JVM sin
  • Scala:解决“非法循环引用”

    我正在尝试实现一个基于 HashMap 的树 它支持给定根键的 O 1 子树查找 为了实现这个目标 我正在努力做到以下几点 scala gt type Q HashMap Char Q
  • scala 贷款模式,可选函数参数

    我有一个贷款模式 该模式应用函数 n 次 其中 i 是递增变量 偶尔 我希望传入的函数能够访问 i 但我不想要求传入的所有函数都需要定义一个参数来接受 i 下面的例子 def withLoaner n Int gt op Int gt St
  • 理解无形状的“单态”示例

    The 无形特征概述 https github com milessabin shapeless wiki Feature overview 3a shapeless 2 0 0显示以下示例 import poly choose is a
  • 在 Play 上强制实施 SSL!框架

    我目前正在使用 Play 1 2 2 及其新的 Netty 客户端框架 尽管可以让 HTTP 和 HTTPS 异步服务 但我还没有找到一种简单的方法来强制执行 SSL 有没有人使用过 Play 有强制实施 SSL 的简单方法吗 不确定我是否
  • 如何使“CustomExecutionContext”可用于 Play 2.6 控制器中的依赖项注入?

    我正在跟随Play 2 6 的 Scala 文档和示例代码用于创建非阻塞操作 https www playframework com documentation 2 6 x ScalaAsync Creating non blocking
  • Maven SBT 依赖工件?

    我同时使用 Maven 和 SBT 管理我的项目 其原因有 Intellij IDEA无法导入SBT 项目 idea sbt 插件没有 工作得很好 我不知道如何获得来源和 来自 SBT 的 javadocs 我想看到有关此问题的任何答案 问

随机推荐

  • “NoMethodError:[:not(.block-layered-nav)]:Array的未定义方法‘特异性’”

    这是对这篇文章的补充 无法在 Magento CE 1 9 中编译 rwd 皮肤 SCSS Windows 8 1 PowerShell Compass 1 0 1 Polaris Sass 3 4 6 Selective Steve ru
  • Pandas 按列将 CSV 拆分为多个 CSV(或 DataFrame)

    我对一个问题感到非常困惑 如果有一些帮助或提示 我将不胜感激 问题 我有一个 csv 文件 其中有一列可能有多个值 例如 Fruit Color The evil column Apple Red something1 Apple Gree
  • 使用 ant 编辑/追加数据到文本文件

    我正在尝试在 ant 构建过程中向 jad 文件添加属性 ant 中有任务可以做到这一点吗 我需要做的就是在文本文件的末尾添加一行文本 但我找不到执行此操作的任务 我相信这会起作用 现在测试一下
  • 检测 jQuery.ajaxComplete() 中是否存在 HTTP 方法(POST、GET)

    In a jQuery ajaxComplete 如何检测 HTTP 方法 特别是 GET 或 POST 我尝试阅读 jQuery 文档并四处搜索 但似乎找不到传递给内部函数处理程序的 3 个对象的太多文档 jQuery element a
  • 如何诊断或检测 Java 静态初始化器中的死锁

    在 Java 中使用静态初始化器是否是一个好主意超出了这个问题的范围 我在 Scala 应用程序中遇到了死锁 我认为这是由编译类中的互锁静态初始化器引起的 我的问题是如何检测和诊断这些死锁 我发现当涉及静态初始化程序块时 用于死锁的普通 J
  • 如何将 jQuery 自动完成组合框与 AJAX JSON 数据一起使用?

    我需要使用组合框执行以下操作 Select box有一个用户可以搜索的默认城市列表 如果用户在input框 我需要进行 ajax 调用来获取数据并向用户显示选项 如果根据用户的请求获取数据 则应将这些城市附加到以下选项中Select box
  • 如何关闭生产中的 Node.js Express(ejs 模板引擎)错误?

    当我在开发服务器上出现错误时 Express 会发送回溯作为响应 然而 这对于生产来说并不好 我不想让任何人看到我的引用 我怎样才能关闭它 注意 我使用 EJS 作为模板引擎 这可能是原因 而不是表达 例如 当我在 ejs 模板中有一个未定
  • 使用 Zip() 合并不同长度的数组而不丢失值

    在下面的代码中 我合并两个类型的数组int and string 第一个的长度大于第二个 因此最后一个索引 即5 不会被合并 int numbers new 1 2 3 4 5 string words new string one two
  • 媒体查询可以根据 div 元素而不是屏幕调整大小吗?

    我想使用媒体查询根据 a 的大小调整元素的大小div它们所在的元素 我不能使用屏幕尺寸作为div只是像网页中的小部件一样使用 其大小可能会有所不同 是的 CSS 容器查询正是您所寻找的 这CSS 遏制模块是详细说明此功能的规范 您可以检查浏
  • 如何修复滚动时折叠工具栏中的视图?

    我想用两个实现折叠工具栏EditText在其中 用于用户输入的目的 我正在跟进this回答 答案给出了添加两个的完美解决方案EditText进入折叠工具栏 但行为并不如预期 我所取得的成就 预期行为 我的 XML 代码
  • 使用express.js和node上传文件,限制扩展

    我正在使用express js 和node 处理文件上传 并且基本功能正常工作 我需要的是实施一些安全措施 即限制上传某些格式 PNG JPEG 有没有一种简单的方法只允许某些格式 它会进入正文解析器吗 app use express bo
  • R 中按部分对象名称过滤或子集列表

    我有一个包含 417 个数据框的列表 每个数据帧在列表中都有一个单独的名称 以 Dec 1981 开头并以 Aug 2016 结尾 这些对象按时间顺序排列 我想仅按月份名称来子集或过滤此列表 例如 创建一个仅包含 Jan 对象 数据框 的新
  • 内联块没有边距?

    我有几个 DIV 显示为内联块 他们似乎从浏览器中自动应用了间距 它们的边距 填充设置为 0 有没有办法在不使用负边距的情况下纠正这个问题 山姆 你看到的那个空间实际上是空白 这就是为什么删除填充和边距没有任何作用 让我解释 当你有这个时
  • 导入错误:没有名为“MySQL”的模块

    我已成功下载 Connector Python for MySQL 我在 Python 的 shell 中使用以下代码来测试我的连接 import mysql connector 我收到以下错误消息 Traceback most recen
  • 如何在<区域>上添加边框?

    有没有办法在周围设置边框 area 元素 我需要这样做来测试图像映射 但这不起作用 area outline 1px solid red border 1px solid red 如果您愿意使用 Javascript 请添加mouseove
  • 如何将日期时间转换为时间

    我正在选角DateTime字段到时间通过使用CAST Syntax select CAST time as time as CSTTime 约会时间2015 03 19 00 00 00 000 当前输出 时间03 05 36 000000
  • 是否可以在没有任何用户交互的情况下创建选择对象?

    Can a 选择无需任何用户交互即可创建对象 window getSelection 确实返回一个Selection反对 但你不能modify 除非用户做出某种选择 是否可以创建一个从页面上第一个元素开始的选择 然后能够modify 不需要
  • JSF 所需的 URL 重写解决方案

    假设以下应用场景 App server ear1 web1 ctx1 lt http localhost ctx1 xxx lt http www example com xxx
  • Symfony2:如何根据权限隐藏 Twig 中的链接

    我的应用程序显示了项目列表 项目详细信息页面以及用于编辑这些项目的表单 这些是路线 项目列表 project 42 查看项目 项目详细信息页面 project 42 edit 编辑项目 只有其所有者才能编辑项目 我已经实现了一个投票者来阻止
  • 为什么Scala中Array.map的定义是“throw new Error()”

    的源代码map for Array is override def map B f A gt B Array B throw new Error 但以下有效 val name Array String new Array 1 name 0