可以在 Scala 中隐藏方法吗?

2024-02-16

昨晚,在某个不愉快的时刻,我们庆祝了第五次因以下行为而追踪到错误的实例:String.split,例如在

output split '\n' map processRow

问题是如果output是空的,split会给你一行空字符串,processRow可能不会喜欢。

很容易增强String with a split0方法(我们有),如果字符串为空,它返回空数组,但我们总是忘记这一点split有这种行为,它不是正确的逆mkString。太好了,被这只狗咬了五口就够了——我们想躲起来split并强迫自己做出选择split0 and split1。这在 Scala 中可能吗?


正如你所说processRow不喜欢空字符串,你可以这样做。

output split '\n' filter(_.nonEmpty) map processRow

您还可以使用其他方便的功能scala.collection.immutable.StringLike, 例如StringLike.stripLineEnd,尽管这只会删除尾随行结束字符。

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

可以在 Scala 中隐藏方法吗? 的相关文章

随机推荐

  • Linq to SQL - 基础列长度

    我使用 Linq to SQL 一段时间了 我发现它非常有用且易于使用 对于我过去使用过的其他 ORM 工具 从数据库填充的实体对象通常有一个属性 指示数据库中基础数据列的长度 这在数据绑定情况下非常有用 例如 您可以在文本框上设置 Max
  • 如果我单击一个单元格,则需要在 Gsheet 中捕获电子邮件或姓名

    如果有人单击 Ay 列复选框 则需要在不同的列单元格中捕获他 她的电子邮件 您并不总是能够访问用户 唯一可以在单击上工作的触发器是 onSelectionChange 这是一个简单的触发器 这意味着它不能执行任何需要权限的操作 而 Sess
  • 如何创建空列表的列表

    如果之前已经回答过这个问题 我深表歉意 但我在这里找不到类似的问题 我对 Python 还很陌生 我想要创建的内容如下 list1 list2 results list1 list2 这段代码工作得非常好 但我想知道是否有一种更快的方法可以
  • 快速算法,精确查找二元矩阵中的 k 列,使这些列的总和为 1-向量

    假设我有一个 M x N 二进制矩阵 其中 M 和 N 都可以很大 我想精确地找到 k 列 k 相对较小 比如小于 10 这样这 k 列的总和就是 1 向量 所有元素均为 1 一种解决方案就足够了 有没有快速的算法 例如 处理矩阵的算法 1
  • 中心引导程序的品牌和列表项

    关于将 Twitter bootstrap 的品牌居中或将导航栏中的列表项居中存在几个问题 但我还没有弄清楚如何将两者居中 这是一个例子 用于修改twitter bootstrap导航栏 https stackoverflow com qu
  • 错误:日期/时间字段值超出范围:“30/12/2014 23:58:04”postgresql

    我正在尝试将 csv 文件导入 postgresql 数据库 我已经尝试过了set datestyle mdy copy Recon snapdeal sales REFERENCES ORDER CODE SUB ORDER CODE P
  • 如何在 pageInfo 中将总计数传递给客户端

    I use first after and last before进行分页 hasNextPage and hasPreviousPage非常有用 但我还需要的是total count这样我就可以计算并显示诸如page 5 of 343 p
  • 防止 ASP.Net 中的 SQL 注入

    我有这个代码 UPDATE OPENQUERY db SELECT FROM table WHERE ref Ref AND bookno Session number 我该如何防止 SQL 注入呢 UPDATE 这就是我正在尝试的 Sql
  • 错误:req.flash() 需要会话

    我是节点新手 我很确定我已经设置了中间件并表示使用闪存消息传递 但是我仍然收到错误 Error req flash requires sessions Setup express js var flash require connect f
  • 在子窗口上绑定 jQuery 事件

    我有一个包含以下 JavaScript 的页面 var w window open somePage html width 500 height 500 w bind someEvent function alert I see the e
  • MinGW:使用 __declspec(dllexport) 还是 __attribute__((visibility("default")))?

    MinGW支持吗 declspec dllexport declspec dllimport 即使是这样 我应该使用 attribute visibility default 基本上我应该根据平台或编译器来决定使用什么 应该是这样吗 ifd
  • 未找到证书链

    我正在签署 jar 文件 由 VeriSign 提供的证书 它提供2个证书 aplha primary cer and aplha secoandary cer 我使用以下命令生成密钥库文件 keytool importcert v ali
  • 在我的应用程序中禁用多指触摸[重复]

    这个问题在这里已经有答案了 我的应用程序使用一个 Activity 来托管多个片段 每次在手机屏幕上显示一个片段 每个片段的视图由多个图像图标组成 目前 用户可以按两个图标同时地用两根手指 每根手指按一个图标 我想禁用此多点触控功能在我的应
  • 如何将一个组件服务响应传递给角度2中的其他组件

    我是角度 4 的新手 在一个组件中从服务器获取响应 并且我希望在其他组件中获取此响应对象如何访问 应用程序组件 ts export class AppComponent selected skipCount number 0 errorMe
  • 如何在3.0模拟器上正确运行应用程序?

    我从 SDK 3 1 和 OpenGL ES 模板创建了一个新项目 如您所知 这个新模板具有 ES 1 1 和 ES 2 0 实现 我想先处理 ES 1 1 部分 所以我将项目设置中的 Base SDK 更改为 Simulator 3 0
  • 创建一个在 R 中重复自身的向量

    我想创建一个重复自身的向量 例如 1 3 直至 12 行 1 2 3 1 2 3 1 2 3 1 2 3 我怎样才能在 R 中做到这一点 感谢您的帮助 See rep 你想要的很简单 gt rep 1 3 times 4 1 1 2 3 1
  • 多对多索引创建约定

    我的问题与这个帖子 https stackoverflow com questions 48645872 prevent index created by convention on many to many table 但我不想阻止 而是
  • HTML5 Canvas 改变所有线条的颜色[重复]

    这个问题在这里已经有答案了 我用 HTML5 画布制作了一个简单的绘图应用程序 您单击两个不同的位置以从一个点到另一个点绘制一条线 我还有两个文本输入框 您可以在其中更改线条粗细和颜色 问题是 当我改变线条的颜色时 它会改变all之前画的线
  • 为 SQL Server 表自动生成 INSERT 语句的最佳方法是什么?

    我们正在编写一个新的应用程序 在测试时 我们将需要一堆虚拟数据 我通过使用 MS Access 将 excel 文件转储到相关表中来添加该数据 我们经常需要 刷新 相关表 这意味着将它们全部删除 重新创建它们 然后运行保存的 MS Acce
  • 可以在 Scala 中隐藏方法吗?

    昨晚 在某个不愉快的时刻 我们庆祝了第五次因以下行为而追踪到错误的实例 String split 例如在 output split n map processRow 问题是如果output是空的 split会给你一行空字符串 process