net / imap库的ruby字符串插值问题

时间:2016-09-28 20:51:46

标签: ruby

我正在使用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中的标准库,所以肯定它必须工作。我错过了什么?

1 个答案:

答案 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

相关问题