假设我有一些v
,既是Applicative
又是Traversable
。我怎样才能得到 av
的索引v
?举一个具体的例子,考虑V3
从Linear
. 我想要V3 0 1 2
。
一种方法是使用mapAccumL
假人,例如:
snd $ T.mapAccumL
(\idx _ -> (idx + 1, idx))
0 (pure "") :: V3 Int
但(pure "")
假人感觉不雅。我们怎样才能以更优雅的方式做到这一点?
假设我有一些v
,既是Applicative
又是Traversable
。我怎样才能得到 av
的索引v
?举一个具体的例子,考虑V3
从Linear
. 我想要V3 0 1 2
。
一种方法是使用mapAccumL
假人,例如:
snd $ T.mapAccumL
(\idx _ -> (idx + 1, idx))
0 (pure "") :: V3 Int
但(pure "")
假人感觉不雅。我们怎样才能以更优雅的方式做到这一点?