原书代码，重敲一遍