We would have some trouble if the arguments were floating point values, for example. For example, consider a change in the problem faced by the hypothetical psychologists discussed above. When you need to pass float values in this way, you may have to redesign your methods so that they can take objects. For example, you might make a new kind of object to hold the values of those floating point numbers. On the off chance that you have reached a point of necessity, and that is why you are reading this guide, consider this explanation of the problem.
Many jobs happen inside the swarm library.
If you want each member of a certain list to receive a message every time period, you need to give Swarm a way to keep track of the members and the message. Since the objects at which you want the messages aimed already exist and are objects, it is quite straightford to pass a Swarm object that object's name. Passing a Swarm object a method name is, however, more difficult. You need to give the Swarm object something symbolic if it is to receive and remember it. If you pass the selector, you are passing a variable type that the Swarm libraries can remember and use when they need it.