ruby-on-rails – 清除rails控制台中的所有变量
发布时间:2020-12-17 02:37:34 所属栏目:百科 来源:网络整理
导读:任何机构都能告诉我用什么命令来清除rails控制台中的所有变量? 例如 1.9.1 :001 permissions = {:show = true} = {:show=true} 1.9.1 :001 foo = "bar" = "bar" 我需要一个命令,可以将所有变量重置为nil而无需重启rails console本身. 任何建议将非常感谢.
任何机构都能告诉我用什么命令来清除rails控制台中的所有变量?
例如 1.9.1 :001 > permissions = {:show => true} => {:show=>true} 1.9.1 :001 > foo = "bar" => "bar" 我需要一个命令,可以将所有变量重置为nil而无需重启rails console本身. 任何建议将非常感谢. 解决方法local_variables.each { |e| eval("#{e} = nil") } local_variables返回当前范围中所有局部变量的符号列表 a,b = 5,10 local_variables # => [:b,:a] 使用每个可以遍历此列表,使用eval将其值分配给nil. 您也可以使用instance_variables和global_variables执行相同的操作.例如 (local_variables + instance_variables).each { |e| eval("#{e} = nil") } 顺便说一句,如果您要多次使用它,在?/ .irbrc文件中定义这样的方法可能会有所帮助,以使所有irb会话都可以访问它(没有在rails控制台中测试它). class Binding def clear eval %q{ local_variables.each { |e| eval("#{e} = nil") } } end end 然后,在irb会话中 a = 5 binding.clear a # => nil (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |