這應(yīng)該算一個(gè)經(jīng)典的面試題了,就是一個(gè)關(guān)于流程控制的問(wèn)題,要求如下
//實(shí)現(xiàn)一個(gè)LazyMan,可以按照以下方式調(diào)用:
LazyMan("Hank")//輸出:
//Hi! This is Hank!
LazyMan("Hank").sleep(10).eat("dinner")//輸出
//Hi! This is Hank!
//等待10秒..
//Wake up after 10
//Eat dinner~
LazyMan("Hank").eat("dinner").eat("supper")//輸出
//Hi This is Hank!
//Eat dinner~
//Eat supper~
LazyMan("Hank").sleepFirst(5).eat("supper")//輸出
//等待5秒
//Wake up after 5
//Hi This is Hank!
//Eat supper
這是一個(gè)典型的流程控制,我們需要按照條件把事件注冊(cè)到隊(duì)列中,然后再執(zhí)行,執(zhí)行下一個(gè)事件通過(guò)next來(lái)控制,然后要實(shí)現(xiàn)鏈?zhǔn)秸{(diào)用。代碼地址https://github.com/Stevenzwzhai/plugs/tree/master/lazyMan具體直接在代碼中看吧,有詳細(xì)注釋。如果有其他需求可以看https://github.com/Stevenzwzhai/plugs/blob/master/README.md