Better quarantine class. Allows for pure functions to be first-class [again].
This commit is contained in:
@@ -13,10 +13,13 @@ class TFQuarantine:
|
|||||||
return self
|
return self
|
||||||
|
|
||||||
def execute(self):
|
def execute(self):
|
||||||
|
def guard_callable(v):
|
||||||
|
return v() if hasattr(v, '__call__') else v
|
||||||
|
|
||||||
value = lambda : None
|
value = lambda : None
|
||||||
for func in self._funcs:
|
for func in self._funcs:
|
||||||
value = func(value())
|
value = func(guard_callable(value))
|
||||||
print value()
|
print guard_callable(value)
|
||||||
|
|
||||||
#
|
#
|
||||||
# The functions
|
# The functions
|
||||||
@@ -45,20 +48,16 @@ def remove_stop_words(word_list):
|
|||||||
return _f
|
return _f
|
||||||
|
|
||||||
def frequencies(word_list):
|
def frequencies(word_list):
|
||||||
def _f():
|
word_freqs = {}
|
||||||
word_freqs = {}
|
for w in word_list:
|
||||||
for w in word_list:
|
if w in word_freqs:
|
||||||
if w in word_freqs:
|
word_freqs[w] += 1
|
||||||
word_freqs[w] += 1
|
else:
|
||||||
else:
|
word_freqs[w] = 1
|
||||||
word_freqs[w] = 1
|
return word_freqs
|
||||||
return word_freqs
|
|
||||||
return _f
|
|
||||||
|
|
||||||
def sort(word_freq):
|
def sort(word_freq):
|
||||||
def _f():
|
return sorted(word_freq.iteritems(), key=operator.itemgetter(1), reverse=True)
|
||||||
return sorted(word_freq.iteritems(), key=operator.itemgetter(1), reverse=True)
|
|
||||||
return _f
|
|
||||||
|
|
||||||
def top25_freqs(word_freqs):
|
def top25_freqs(word_freqs):
|
||||||
def _f():
|
def _f():
|
||||||
|
|||||||
Reference in New Issue
Block a user