谷歌没有发现任何看似相关的东西.
我有一堆现有的,正在运行的C++代码,我想使用python来浏览它并找出类之间的关系等.
编辑:只是想指出:我认为我不需要或想要解析C++的每一点; 我只需要足够聪明的东西来获取类,函数和成员变量声明,并跳过函数定义.
我正在尝试创建代表瑞士锦标赛的模型,有多轮.每一轮每个人都将与另一个玩家配对,除非有一个奇怪的玩家出局,一个玩家将获得再见.
我需要跟踪每个配对的结果; 即哪个玩家赢了.此外,我希望以后能够有效地搜索所有曾经与特定玩家对战的玩家.
显而易见的事情:
class Tournament(models.Model):
name = models.CharField(max_length=80)
class Player(models.Model):
name = models.CharField(max_length=80)
Run Code Online (Sandbox Code Playgroud)
起初我打算参加"TournamentPairing"课程,看起来像这样:
class TournamentPairing(models.Model):
tournament = models.ForeignKey(Tournament)
round = models.IntegerKey()
player1 = models.ForeignKey(Player)
player2 = models.ForeignKey(Player, null = True) # In case of a bye, this is None.
outcome = models.CharField(max_length=1) # player1 wins, loses, bye, or tie
Run Code Online (Sandbox Code Playgroud)
但这有点像hacky,特别是关于player2有时候没有的部分.此外,我认为它不便于搜索(因为我们正在寻找的播放器可能在播放器1或播放器2插槽中).
有没有更好的办法?我怀疑我的django noob-ness阻碍了我在这里寻找合适的解决方案.