import Control.Concurrent.Async (mapConcurrently)
import Data.Array
indexedArray :: Array (Int,Int) (Int,Int,a)
indexedArray = ...
mappedArray = mapConcurrently (\(x,y,a) -> foo x y a) indexedArray
是一个2D数组,这些是元素:
如何使用traverse
- 每个循环仅访问array
的第二行?
我试过......
for
但它似乎不起作用。
答案 0 :(得分:0)
在Java中,数组是从零开始的,所以你的[1]指向第二维的想法正朝着正确的方向发展。试试这个:增加数组第一个维度的大小,然后访问循环中的第二个维度:
FieldInfo test1 = t.GetField("superLabel", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
您最初询问的是每种方法。在Java中,多维数组只是一个数组数组,因此您希望依次获取每个子数组并打印它的第二个元素。像这样:
for (int i = 0; i < array.length; i++)
System.out.println(array[i][1]);
答案 1 :(得分:0)
似乎问题出在您的 2D数组创建中。 For-each循环使用的是正确的。确保按如下方式创建数组:
def current_user?(user)
user == current_user
end
def current_user
@current_user ||= User.find_by(id: session[:user_id])
end
如果您在循环中使用 System.out.println ,则会打印 12,14,6,6,10 。