擅长:python、mysql、java
<p>另一种可能的设计是通过将错误处理程序作为参数传入来反转控制。在</p>
<p>(另外,不要觉得必须告诉Python如何在列表中积累数据。它已经知道了。在这里,列表理解并不难</p>
<pre><code>def sample_handler():
print "OMG, I wasn't expecting that; oh well."
parseResult = parse(myFile, sample_handler)
def parse(file, handler): #file is a list of lines from an actual file
result = [Process(line) for line in data]
if not all(result): handler() # i.e. if there are any false-ish values
result = filter(None, result) # remove false-ish values if any
return result
</code></pre>