Macros are an extremely powerful tool that allow you to record and replay a set of actions.
Let's perform the same operation as before, using macros. We have the following code in farm.py:
...
def act(self, target):
for animal in self.animals:
if animal.get_kind() == 'cat':
print(animal.act(target, 'meows'))
elif animal.get_kind() == 'dog':
print(animal.act(target, 'barks'))
elif animal.get_kind() == 'sheep':
print(animal.act(target, 'baas'))
else:
print(animal.act(target, 'looks'))
...
We'd like to reorder arguments in animal.act calls. Open farm.py, and move your cursor to the top of the file with gg:
Enter macro recording mode using q followed by any register (let's pick a), as follows: qa...