Chapter 12
Closed Maps
12.1 Constraints
- The larger problem is decomposed into things that make sense for the problem domain.
- Each thing is a map from keys to values. Some values are procedures/functions.
- The procedures/functions close on the map itself by referring to its slots.
12.2 A Program in this Style
1 #!/usr/bin/env python 2 import sys, re, operator, string 3 4 # Auxiliary functions that can't be lambdas 5 # 6 def extract_words(obj, path_to_file): 7 with open(path_to_file) as f: 8 obj['data'] = f.read() 9 pattern = re.compile('[\W_]+') 10 data_str = ''.join(pattern.sub(' ', obj['data']).lower()) 11 obj['data'] = data_str.split()
Get Exercises in Programming Style now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.