19章横断的関心――アスペクト指向Aspects
制約
- 問題は何らかの抽象化(手続き、関数、オブジェクトなど)を使用して分解される。
- 問題のアスペクトは、抽象化のソースコードや抽象化を使用する場所を変更することなく、プログラムに追加される。
- 抽象化とアスペクトは外部結合機構を用いて結合される。
プログラム
1 #!/usr/bin/env python 2 import sys, re, operator, string, time 3 4 # 5 # 関数定義 6 # 7 def extract_words(path_to_file): 8 with open(path_to_file) as f: 9 str_data = f.read() 10 pattern = re.compile(r'[\W_]+') 11 word_list = pattern.sub(' ', str_data).lower().split() 12 with open('../stop_words.txt') as f: 13 stop_words = f.read().split(',') 14 stop_words.extend(list(string.ascii_lowercase)) 15 return [w for w in word_list if w not in stop_words] 16 17 def frequencies(word_list): ...
Get プログラミング文体練習 ―Pythonで学ぶ40のプログラミングスタイル 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.