Ruby:使用默认值定义类级别哈希

Jas*_*zek 5 ruby

我有一个基本的ruby类:

class LogEntry

end
Run Code Online (Sandbox Code Playgroud)

我想要做的是能够定义一个具有几个值的哈希,如下所示:

EntryType = { :error => 0, :warning => 1, :info => 2 }
Run Code Online (Sandbox Code Playgroud)

这样我就可以访问像这样的值(或类似的东西):

LogEntry.EntryType[:error]
Run Code Online (Sandbox Code Playgroud)

这在Ruby中甚至可能吗?我正确地走这条路吗?

Dus*_*tin 7

你可以这样做:

class LogEntry
    EntryType = { :error => 0, :warning => 1, :info => 2 }
end
Run Code Online (Sandbox Code Playgroud)

但是你想把它作为参考

LogEntry::EntryType[:error]
Run Code Online (Sandbox Code Playgroud)