小编Raf*_*sch的帖子

为什么.Clear()函数清除了错误的列表?

public void ConvertMoves()
{
    for (int i = 0; i < maxDirections; i++)
    {
        Debug.Log("gimme tsMoves "+tSpossibleMoves[i].Count +  " from " + this);
        possibleAttacks[i] = tSpossibleAttacks[i];
        possibleAttacksInactive[i] = tSpossibleAttacksInactive[i];
        possibleAttackIndicators[i] = tSpossibleAttackIndicators[i];
        possibleMoves[i] = tSpossibleMoves[i];
        Debug.Log("Gimme moves(1) " + possibleMoves[i].Count + " from " + this);
    }
    for (int i = 0; i < maxDirections; i++)
    {
        tSpossibleAttacks[i].Clear();
        tSpossibleAttacksInactive[i].Clear();
        tSpossibleAttackIndicators[i].Clear();
        tSpossibleMoves[i].Clear();
        Debug.Log("Gimme moves(2) " + possibleMoves[i].Count + " from " + this);
    }
}
Run Code Online (Sandbox Code Playgroud)

所以调试日志报告以下内容:

gimme tsMoves 2来自JeanArc(克隆)(JeanArc)
Gimme移动(1)2来自JeanArc(克隆)(JeanArc)

一切都很好,但后来...... …

c# list

3
推荐指数
1
解决办法
94
查看次数

哈斯克尔。我很困惑这个代码片段是如何工作的

magnitude :: Floating a => [a] -> a
magnitude = sqrt . mag
  where mag [] = 0
        mag (x:xs) = x^2 + mag xs
Run Code Online (Sandbox Code Playgroud)

这应该对列表中的每个元素进行平方,然后取它们的总和,然后取平方根。很公平,但是当它只将 x 添加到列表 xs 时,这个递归函数是如何工作的?

haskell

2
推荐指数
1
解决办法
75
查看次数

标签 统计

c# ×1

haskell ×1

list ×1