bugfix: 重写exercise 2.12的解答，前面的解答有误。