如何在 Scala 中定义列表的列表?

2023-11-24

我想为以下类型创建一个存储:

List(List(2.3,1.1),List(2.2, 1))

但如果我执行以下操作:

var y = List(List (1.0, 2.2), List(2, 1.1, -2.1))

然后它创建为 List[AnyVal] 并在我尝试执行数学运算时给出错误:

y(0)(0) * 2         // Error - value '2' is not a member of AnyVal

在两个示例中,一个列表都包含一个 Int 数字(第一种情况下最后一个 1 ,第二个列表的第一个元素为 2 ),其余数字都是 Double 。 因此,列表元素的推断类型将是 AnyVal,这是它们的第一个公共超类型,因此您的外部列表将变为 List[List[AnyVal]]。

如果您也尝试使用 scala 2.8,那么它应该使用 Numeric 而不是 AnyVal,因为它成为 Double 和 Int 的超类型。大多数数字运算(在您的情况下是乘法)也适用于它们。

要解决 2.7.x 的问题,只需使用 Doubles 作为这些值(1.0 或 1D)。

将类型显式声明为 List[List[Double]] 可能也会有所帮助。在这种情况下,您提供的 Int 值将转换为 Doubles。

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

如何在 Scala 中定义列表的列表? 的相关文章

随机推荐

  • 嵌入 dll 中的 VCL 样式?

    如何在 dll 中嵌入 Delphi XE2 VCL 样式 应用程序 外观 页面在 DLL 项目的项目设置中不可见 我尝试在包含 R 指令的 rc 文件中定义它们 该文件有效 但我想知道是否有更好的方法 RC 文件示例 GOLDENGRAP
  • Python 的 imp.reload() 函数不起作用?

    这是一个简洁的例子 x py class x var from x py y py class x var from y py test py import imp def write module filename fp open z p
  • Javascript 中的块作用域、函数作用域和局部作用域

    Is 块作用域有时与功能范围 我知道功能范围适用于函数内的所有内容 但不知道 a 到底是什么块作用域 is 对于Javascript来说 是吗 现在推荐使用let const代替var以便日后维护 这是来自Airbnb 风格指南 javas
  • 远程调试Azure网站:未命中断点

    我有一个部署到 Azure 的 ASP NET 网站 我正在使用 VS2013 NET 4 5 1 和 Azure SDK 2 2 我在管理门户中打开了VS2013的远程调试 我可以成功右键单击服务器中 Azure 节点下的网站 然后选择
  • 如何打印 HTML 页面的一部分?

    我有一个 html 页面 我想打印该 html 页面的一部分 我知道打印页面的 javascript 函数 onClick javascript window print return false 但如何打印页面的一部分呢 如果有人有想法
  • 将单键字典列表转换为单个字典

    我有一个单键字典列表 例如 lst 1 A 2 B 3 C 我想简单地将其转换为普通字典 dictionary 1 A 2 B 3 C 最简洁 最有效的方法是什么 您可以使用减少 reduce lambda r d r update d o
  • 将 Winform 应用程序转换为控制台应用程序

    是否有一种快速而肮脏的方法 或 VS 宏 将 WinForms 应用程序转换为控制台应用程序 我有许多此类应用程序不再需要作为 Winforms 应用程序 我想我可以创建一堆新项目并复制粘贴模块和类 但如果只是删除我拥有的单一表单并编辑 删
  • 从URL中获取参数值

    我正在开发一个工具 它可以获取 URL 中的值参数并用它们做一些事情 我的问题是 我似乎无法使用 document location 来显示我想要的具体值 例如 www examplesite com yourname gilgilad 我
  • 在android布局中创建水平虚线

    在我的布局中 我试图绘制一条虚线 为了绘制一条水平线 我在布局文件中定义了一个视图
  • 优化 Karatsuba 实施

    所以 我正在尝试改进 net 4 的一些操作BigInteger类提供 因为操作看起来是二次的 我已经做了一个粗略的 Karatsuba 实现 但它仍然比我预期的要慢 主要问题似乎是 BigInteger 没有提供简单的方法来计算位数 因此
  • 通过 Java 应用程序启动外部 Jar

    目前 我有一个 Java 独立 Swing 应用程序 现在 当用户单击 Swing 应用程序中的按钮时 我想启动另一个 Java 应用程序 例如 calculator jar 我可以知道什么是便携式方法吗 那么它可以在多个操作系统中工作吗
  • 在 MATLAB 中将零对角线添加到矩阵

    假设我有一个矩阵A维度的Nx N 1 在 MATLAB 中 例如 N 5 A 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 我想转型A进入一个NxN matrix B 只需添加零对角线
  • 关于链表中的虚拟节点和指针的说明

    我有以下列表节点类 def init self x self val x self next None 如果我初始化列表l and r如下 l ListNode 1 l next ListNode 4 l next next ListNod
  • 使用 pymongo 连接到 aws 时出现 ServerSelectionTimeoutError

    我正在尝试使用密钥文件连接到 AWS 实例上托管的 MongoDB 我能够通过 ssh 进入实例并连接到数据库 没有任何问题 当我尝试使用 pymongo 从远程位置连接到数据库时 我收到此错误 ServerSelectionTimeout
  • Ipython、jupyter 和内核之间有什么关系?

    就像每次我寻找有关 python 或 R 的答案时 我都会遇到 Ipython Ipython kernel Ipython Notebook jupyter 和 jupyter kernel 的这些含义 并且我实际上了解每个的用途 但我对
  • 如何修复 Heroku imagecreatefromjpeg()

    heroku 报告我一个错误 Call to undefined function imagecreatefromjpeg at line 177 其中第 177 行是 案例 jpg 案例 jpeg image data imagecrea
  • Python如何获取QLineEdit文本?

    你好世界我正在尝试让 QLineEdit 作为用户输入来工作 他们应该输入歌曲名称 输入歌曲名称后 我希望单击播放按钮后开始播放该歌曲 除了他们可以在该文件夹中输入所需歌曲的部分之外 一切正常 问题是我不确定如何制作 QlineEdit 单
  • 使用指针算术计算类型大小的替代方法

    下面的代码是100 可移植的吗 int a 10 size t size of int char a 1 char a No problem here std cout lt
  • 两个表的索引名称相同

    我正在为我们的团队构建一个小型 Mysql 数据库 对于我的数据库中的两个表 我使用了相同的索引名称 性能会受到影响吗 我做了一些测试查询 800 000 多行 到目前为止 一切顺利 索引名称特定于每个表 一张表中不能有两个同名索引 但可以
  • 如何在 Scala 中定义列表的列表?

    我想为以下类型创建一个存储 List List 2 3 1 1 List 2 2 1 但如果我执行以下操作 var y List List 1 0 2 2 List 2 1 1 2 1 然后它创建为 List AnyVal 并在我尝试执行数