我正在使用ruby的内置imap / net库。字符串插值似乎存在问题。以下工作正常:
imap = Net::IMAP.new('imap.gmail.com',993, true)
imap.login('myuser@gmail.com','password')
imap.select('INBOX')
ids = imap.search(["SINCE", "26-Sep-2016"])
=> [1, 2]
我上面使用了一个字符串文字。但是,当我用以下内容替换字符串文字时,会发生错误:
imap = Net::IMAP.new('imap.gmail.com',993, true)
imap.login('myuser@gmail.com','password')
imap.select('INBOX')
ids = imap.search(["SINCE", Time.now.strftime('%d-%b-%y')])
=> Net::IMAP::BadResponseError: Could not parse command
当Time.now.strftime的结果是字符串文字时,只有字符串文字有效吗?这是ruby中的标准库,所以肯定它必须工作。我错过了什么?
答案 0 :(得分:1)
Time#strftime
中的 >>> from pathos.pools import _ThreadPool
>>> pool = _ThreadPool(4)
>>>
[…]
>>> result = []
>>> def callback(x):
>>> result.append(x)
>>>
>>> for a, k in zip(args, allks):
>>> pool.apply_async(dummy, args=(a,), kwds=k, callback=callback)
>>>
>>> pool.close()
>>> pool.join()
是2位数年份,Net::IMAP#search
requires a 4-digit year。你想要%y
:
%Y
这不仅仅是Net :: IMAP的要求,它实际上是第84和85页的defined by the IMAP specification。