現在、6.00xコースの問題セットを実行していますが、奇妙なエラーが発生しました。
エラーは次のとおりです。
Traceback (most recent call last):
File "ps6_test.py", line 157, in test7PhraseTrigger
self.assertTrue(pt.evaluate(a), "PhraseTrigger doesn't find phrase in title")
File "/home/tayler/Dropbox/Programming/6.00x/ProblemSets/ProblemSet6/ps6.py", line 148, in evaluate
story.getTitle()])
TypeError: argument of type 'bool' is not iterable
エラーをスローするコードのセグメントは次のとおりです。
class PhraseTrigger(Trigger):
def __init__(self, phrase):
self.phrase = phrase
def evaluate(self, story):
return self.phrase in any([story.getSubject(), story.getSummary(),
story.getTitle()])
提供されている単純なテストスイートを実行しています。このテストスイートは、変数を設定し、いくつかのインスタンスを作成します。in any()
2つを比較した後、なぜブール値を反復するのかわかりません。any()
2回比較した後、ブール値を反復処理するのはなぜですか?