wri*_*bln 2 ruby hash coding-style
我需要修改特定键的哈希值,但如果不存在则我不想添加键,长版本将是:
if my_hash.has_key?( :key )
my_hash[ :key ] = true if my_hash[ :key ] == 0
my_hash[ :key ] = false if my_hash[ :key ] == 1
# leave value alone if it is not 0 or 1
else
# leave hash alone if key is not present
end
Run Code Online (Sandbox Code Playgroud)
我想知道是否会有更优雅的解决方案.
也许有case声明
case my_hash[:key]
when 0; my_hash[:key] = true
when 1; my_hash[:key] = false
end
Run Code Online (Sandbox Code Playgroud)