Символы - это рубиновый путь. Тем не менее, иногда нужно поговорить с каким-нибудь кодом на C или чем-то или с Java, которые предоставляют различные перечисления для различных вещей.
#server_roles.rb
module EnumLike
def EnumLike.server_role
server_Symb=[ :SERVER_CLOUD, :SERVER_DESKTOP, :SERVER_WORKSTATION]
server_Enum=Hash.new
i=0
server_Symb.each{ |e| server_Enum[e]=i; i +=1}
return server_Symb,server_Enum
end
end
Затем можно использовать вот так
require 'server_roles'
sSymb, sEnum =EnumLike.server_role()
foreignvec[sEnum[:SERVER_WORKSTATION]]=8
Это, конечно, можно сделать абстрактным, и вы можете запустить наш собственный класс Enum