我在寫一個測驗應用程序,幫助新來的Ruby語言的人們(比如我自己)學習Ruby。如何與Ruby語言測驗計劃的IRB交互?
我有興趣編寫一個程序,它將提示用戶提出問題,啓動交互式Ruby Shell(IRB)會話,設置前提條件,允許用戶與shell進行交互,然後檢查發佈條件查看用戶是否按照提示正確回答了問題。例如,可以提示用戶組合兩個包含一週中某幾天的數組。該shell會話將被啓動,並且前提條件將設置:
days1 = ["Mon", "Tue", "Wed"]
days2 = ["Thu", "Fri", "Sat", "Sun"]
,用戶可據此與外殼進行交互,並且大概會做這樣的事情:
days = days1 + days2
=> ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]
程序然後將評估發佈條件以驗證兩個陣列已合併。如果提示說明必須以特定的方式完成任務,那麼該程序可能還必須具體研究如何完成任務。
處理與IRB的交互的最佳方式是什麼?一個想法是使用Expect,但我想知道你是否有更好的方法或只涉及使用Ruby的方法。我不打算重新發明輪子,所以如果已經有了這樣的程序,我可以使用它來代替自定義開發。
另請看http://rubykoans.com/ – Reactormonk