我写了以下代码:
class Actions
def initialize
@people = []
@commands = {
"ADD" => ->(name){@people << name },
"REMOVE" => ->(n=0){ puts "Goodbye" },
"OTHER" => ->(n=0){puts "Do Nothing" }
}
end
def run_command(cmd,*param)
@commands[cmd].call param if @commands.key?(cmd)
end
def people
@people
end
end
act = Actions.new
act.run_command('ADD','joe')
act.run_command('ADD','jack')
puts act.people
Run Code Online (Sandbox Code Playgroud)
但是,当@commands
哈希是一个类变量时,这是有效的,哈希中的代码不知道@people
数组.
如何使@commands
哈希成为类变量并仍然能够访问特定的对象实例变量?
阅读有关如何检查 DTU 后,我现在有以下查询(基于以下 MSDN 文章中的查询:https : //azure.microsoft.com/en-us/documentation/articles/sql-database-upgrade-new -服务层/ )
Select avg(unsum) as avg_DTU_percent,database_name from (
SELECT start_time,(SELECT Max(v)
FROM (VALUES (avg_cpu_percent)
, (avg_physical_data_read_percent)
, (avg_log_write_percent)
) AS value(v)) AS [unsum],database_name
FROM sys.resource_stats
WHERE database_name = '<DBNAME>')as rc GROUP BY database_name;
Run Code Online (Sandbox Code Playgroud)
我想修改它以在服务器中的所有数据库上运行,这意味着我想删除 where database_name 并使用 group by 但我似乎没有使用真正的 sql 太久并且缺少一些东西
有没有办法在内部查询之前对数据进行分区,以便我可以轻松获取数据?
我有一个内置于perl的中型到大型系统,它是在过去15年中开发的,由许多脚本和pm文件构建,为了改进系统,我需要更多数据,这是我看到的最简单的方法获取这些数据是为了让代码中的每个函数都能打印出某些日志的开始和结束时间,这样就有可能理解花费最多时间的内容.然而,这是一个旧系统,有些部件比其他部件更难维护,除此之外,我需要它运行,这意味着为了获得真实数据,我需要它从生产中打印出来.我想要做的是以某种方式覆盖函数declration来包装每个函数开始在一行如NAME start STARTTIME PARAMS和当它离开函数时NAME结束STARTTIME PARAMS
有人能指出我正确的方向吗?谢谢