加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Array.isDefinedAt用于scala中的n维数组

发布时间:2020-12-16 18:32:27 所属栏目:安全 来源:网络整理
导读:是否有一种优雅的表达方式 val a = Array.fill(2,10) {1}def do_to_elt(i:Int,j:Int) { if (a.isDefinedAt(i) a(i).isDefinedAt(j)) f(a(i)(j))} 在斯卡拉? 解决方法 我建议您不要将数组数组用于2D数组,原因主要有三个.首先,它允许不一致:并非所有列(或行,
是否有一种优雅的表达方式

val a = Array.fill(2,10) {1}
def do_to_elt(i:Int,j:Int) {
    if (a.isDefinedAt(i) && a(i).isDefinedAt(j)) f(a(i)(j))
}

在斯卡拉?

解决方法

我建议您不要将数组数组用于2D数组,原因主要有三个.首先,它允许不一致:并非所有列(或行,请选择)都需要相同的大小.其次,它是低效的 – 你必须遵循两个指针而不是一个.第三,存在很少的库函数,它们在作为2D数组的数组阵列上透明且有用地工作.

鉴于这些,您应该使用支持2D阵列的库,如scalala,或者您应该编写自己的库.如果你做了后者,除其他外,这个问题神奇地消失了.

所以在优雅方面:不,没有办法.但除此之外,你开始的道路包含许多不雅;你可能会尽快离开它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读