具有各种字符的符号
Symbols with various characters
我想将如下字符串转换为符号:
'Architects & Engineers'
'Catering & Hotels'
他们有 '&'
、'/'
.
这样的字符
我怎样才能做到这一点?
'Architects & Engineers'.to_sym == :'Architects & Engineers'
#⇒ true
['Architects & Engineers'.to_sym, :'Architects & Engineers'].map(&:to_s)
#⇒ ["Architects & Engineers", "Architects & Engineers"]
您可以使用 classy_enum gem https://github.com/AgilionApps/classy_enum
class YourEnum < ClassyEnum::Base
end
class YourEnum::ArchitectAndEngineer < YourEnum
def to_s
"Architects & Engineers"
end
end
class YourEnum::DocterOrEngineer < YourEnum
def to_s
"Doctor/Engineer"
end
end
那你就可以像
一样使用它
YourEnum.map(&:to_s) # ["Architects & Engineers", "Doctor/Engineer"]
你可以找到这样的枚举
YourEnum.find("Architects & Engineers") #<YourEnum::ArchitectAndEngineer:0x007f96ccb16628>
另一种方式:
:"Architects & Engineers" # => :"Architects & Engineers"
:"Architects & Engineers" == "Architects & Engineers".to_sym # => true
我想将如下字符串转换为符号:
'Architects & Engineers'
'Catering & Hotels'
他们有 '&'
、'/'
.
我怎样才能做到这一点?
'Architects & Engineers'.to_sym == :'Architects & Engineers'
#⇒ true
['Architects & Engineers'.to_sym, :'Architects & Engineers'].map(&:to_s)
#⇒ ["Architects & Engineers", "Architects & Engineers"]
您可以使用 classy_enum gem https://github.com/AgilionApps/classy_enum
class YourEnum < ClassyEnum::Base
end
class YourEnum::ArchitectAndEngineer < YourEnum
def to_s
"Architects & Engineers"
end
end
class YourEnum::DocterOrEngineer < YourEnum
def to_s
"Doctor/Engineer"
end
end
那你就可以像
一样使用它YourEnum.map(&:to_s) # ["Architects & Engineers", "Doctor/Engineer"]
你可以找到这样的枚举
YourEnum.find("Architects & Engineers") #<YourEnum::ArchitectAndEngineer:0x007f96ccb16628>
另一种方式:
:"Architects & Engineers" # => :"Architects & Engineers"
:"Architects & Engineers" == "Architects & Engineers".to_sym # => true