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,或者您应该编写自己的库.如果你做了后者,除其他外,这个问题神奇地消失了. 所以在优雅方面:不,没有办法.但除此之外,你开始的道路包含许多不雅;你可能会尽快离开它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |