我想知道时间是属于某个时间表还是其他时间.
在我的情况下是计算时间是在夜间时间表或正常时间表.
我已经达成了这个解决方案:
NIGHT = ["21:00", "06:00"]
def night?( date )
date_str = date.strftime( "%H:%M" )
date_str > NIGHT[0] || date_str < NIGHT[1]
end
Run Code Online (Sandbox Code Playgroud)
但我认为不是很优雅,也只适用于这个具体案例而不是每个时间范围.
(我发现几个类似的问题是SO,但他们都参考了日期范围没有时间范围)
解决方案必须适用于随机时间范围,不仅适用于具体的时间范围.让我们说:
"05:00"-"10:00"
"23:00"-"01:00"
"01:00"-"01:10"
Run Code Online (Sandbox Code Playgroud) 我是Linux和C++的新手,对我的应用程序的内存使用情况有疑问.
我的应用程序处理大量实时数据,每秒约500条消息.
我使用std :: map来管理(即插入和擦除)所有消息.例如,
std::map<int, data_struct> m_map;
// when receive a new message, convert the message into a data structure
m_map.insert(std::pair<int, data_struct>(message.id, data));
// when need to erase a message
iter = m_map.find(id);
if (iter != m_map.end()) {
m.map.erase(iter);
}
Run Code Online (Sandbox Code Playgroud)
m_map的大小大约是2500,即应用程序在开始时收到很多新消息,然后逐渐需要擦除消息.大约10秒后,它达到了一个点,即收到的新消息数与需要删除的消息大致相同.
我的问题是,大约20分钟后,在Linux 系统监视器中,我注意到我的应用程序使用的内存大约是1GB.而且看起来每20分钟翻一番.这是正常的,应用程序真的使用了那么多内存吗?我在这里错过了什么吗?
谢谢.
这行给了我一个语法错误:
if @array.include?('cat') && not @array.include?('dog')
有任何想法吗?
所以这是我要解析的配置文件的片段(它是一个LVM2配置):
VolGroup00 {
id = "vyllep-rfI6-LCvO-h6mN-zYZu-hiAN-QShmG6"
seqno = 3
status = ["RESIZEABLE", "READ", "WRITE"]
flags = []
extent_size = 65536 # 32 Megabytes
max_lv = 0
max_pv = 0
metadata_copies = 0
physical_volumes {
pv0 {
id = "1yLiSl-x0fp-ZkyU-HMQl-eTVt-xiId-cFnih0"
device = "/dev/xvda2" # Hint only
status = ["ALLOCATABLE"]
flags = []
dev_size = 31246425 # 14.8995 Gigabytes
pe_start = 384
pe_count = 476 # 14.875 Gigabytes
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想将其解析为Perl数据结构.这个配置是什么格式的?我的猜测是它看起来像python数据结构.
有什么想法的格式,或者更好的是,现有的解析它的模块?