我想知道是否有一种优雅的方法来使用ruby中的循环创建变量?
说我想把它放在某种循环中
def workhours
@monday = blah
@tuesday = brah
@wednesday = bro
@thursday = blap
@friday = blagh
end
Run Code Online (Sandbox Code Playgroud)
我希望能做什么
def workhour_ideally
days = [ "monday", "tuesday", "wednesday", "thursday", "friday" ]
days.each do |smack|
@"smack" = whatever
end
end
Run Code Online (Sandbox Code Playgroud)
红宝石可以吗?
是的,Rails是可能的.不,你不应该这样做.如果我不得不猜测,我会说这是某种PHP主义.
什么是更好的是使用哈希:
@days = {
:monday => blah,
:tuesday => brah,
# ...
:friday => blagh
}
Run Code Online (Sandbox Code Playgroud)
然后你可以按照自己的意愿迭代这些.引用其中一个只是稍微打字:@days[:monday]而不是@monday.
使用适当的数据结构允许您操纵它,迭代它,并提供各种机会来彻底测试它.
| 归档时间: |
|
| 查看次数: |
1418 次 |
| 最近记录: |