所以我现在在Unity工作,我使用List来保持我的价值观,但我遇到了一些麻烦。以下是相关功能:
query = """UPDATE table SET being_tracked = %s
WHERE NOT EXISTS(
SELECT 'X' FROM temp_table
WHERE table.selected_id = temp_table.selected_id);"""
cur.execute(query, [False])
此Debug发出Null。
在我的DNA课程中:
List<DNA> generation;
// Use this for initialization
void Start () {
generation = new List<DNA> ();
generation.Add (new DNA ());
generation [0].init ();
Debug.Log (generation[0].Chromosone);
}
这个Debug发出它是BitArray。
编辑:如果我返回Chromosone,我会将BitArray作为回报。但是第二次我失去了联系,(下一行),Chromosone不再存在。
编辑编辑:将列表更改为DNA数组可以纠正问题,但我需要长度可以修改。所以这没有那么多帮助......
答案 0 :(得分:0)
我使用bool []而不是BitArray在Unity中重新创建了这些脚本,因为这更加习惯。您将使用的代码是:
MainClass:
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class MainClass : MonoBehaviour {
private List<DNA> generation = new List<DNA>();
// Use this for initialization
void Start () {
generation.Add(new DNA());
generation[0].init();
for(int i = 0; i < generation[0].boolLength; i++)
{
Debug.Log(generation[0].chromosone[i]);
}
}
// Update is called once per frame
void Update () {
}
}
DNA分类:
using UnityEngine;
using System.Collections;
public class DNA : MonoBehaviour {
public bool[] chromosone;
public int boolLength = 36;
public int lifeTime;
public void init()
{
this.chromosone = new bool[boolLength];
for(int i = 0; i < boolLength; i++)
{
if(Random.Range (0,2) == 1)
this.chromosone[i] = true;
else
this.chromosone[i] = false;
}
lifeTime = Random.Range(1,3);
}
}
当然,我假设您只在相关问题中粘贴相关代码,因此请务必在其余部分添加。但有一点需要注意,在MainClass中确保包含行using System.Collections.Generic
,以便您可以访问List类型。
修改强>
如果你必须使用BitArray,你所要做的就是将DNA类改为:
using UnityEngine;
using System.Collections;
public class DNA : MonoBehaviour {
public BitArray chromosone;
public int boolLength = 36;
public int lifeTime;
public void init()
{
this.chromosone = new BitArray(boolLength);
for(int i = 0; i < boolLength; i++)
{
if(Random.Range (0,2) == 1)
this.chromosone.Set(i, true);
else
this.chromosone.Set(i, false);
}
lifeTime = Random.Range(1,3);
}
}
我猜你的问题是,你是不是正确地迭代了chromosone变量来调试它,因为它不是null,或者......你没有包含using System.Collections.Generic