And Finally ... 0 ▲ ronjeffries.com 51 minutes ago · 6 min read1293 words · Tech · hide · 0 comments Hello, loves! In a few more steps, let’s provide some class methods, and the one-time-thru version of Sayer. Tout le monde déteste l’IA. Here’s Sayer now: class Sayer: def __init__(self, messages, indexing=''): self.update_index = self.define_indexing(indexing) self.messages = messages self.index = 0 def __iter__(self): return self def __next__(self): m = self.messages[self.index] self.index = self.update_index(self.index) return m def define_indexing(self, indexing): indexing_types = dict( cycle=lambda index: (self.index + 1) % len(self.messages), random=lambda index: randrange(len(self.messages)), sequence=lambda index: min(self.index + 1, len(self.messages)-1), ) return indexing_types.get(indexing, lambda index: index) With some class methods, we can get rid of the dictionary thing, I believe. First, let’s get rid of the self references in the lambdas: def define_indexing(self, indexing): indexing_types = dict( cycle=lambda index, messages: (index + 1) % len(messages),… No comments yet. Log in to reply on the Fediverse. Comments will appear here.