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,第二个是会议,第三个是分区).这似乎太复杂了.
任何帮助或见解都会令人惊叹!
它们应该是具有关系的类,而不是试图利用本机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)