用于组织NFL的最佳Ruby数据结构

Zac*_*iro 2 ruby ruby-on-rails data-structures

我正在尝试将NFL团队组织成Ruby中的数据结构.我的目标是轻松查询以了解巴尔的摩乌鸦队是AFC(会议)和AFC North(分区).

我还想很容易地看到哪些球队在AFC(其中16支)以及哪支球队在AFC North(其中4支).

现在我在阵列上使用数组,但我确信有更好的方法可以做到这一点.

随着我的数据现在的结构方式,我不得不把nfl [0] [0] [0]打印出Baltimore Ravens(第一个是AFC/NFC,第二个是会议,第三个是分区).这似乎太复杂了.

任何帮助或见解都会令人惊叹!

Mar*_*bot 5

它们应该是具有关系的类,而不是试图利用本机ruby数据结构.即使课程不做事,你也会从轨道关系中获得很多自然的声音代码.

我宁愿说:

team = Team.find_by_name("Ravens")
Run Code Online (Sandbox Code Playgroud)

team = nfl[0][0][0]
Run Code Online (Sandbox Code Playgroud)

您还可以获得几乎免费的其他有用的电话:

team = Team.find_by_city("Baltimore")   # also gets you the ravens
Run Code Online (Sandbox Code Playgroud)

当你想抓住一个部门的所有团队时:

all_nfc_teams = Division.find_by_name("NFC").teams
Run Code Online (Sandbox Code Playgroud)

这比可读性更强

all_nfc_teams = nfl[0][1]
Run Code Online (Sandbox Code Playgroud)

我可以想象各种其他有用的语义,比如找到AFC的所有第4周比赛,或者通过输赢来命令球队分组.您可以在团队上定义范围,以便您可以检索具有非常清晰语义的团队集合.

all_nfc_teams = Team.nfc
Run Code Online (Sandbox Code Playgroud)