1
我正在使用Ruby製作一個簡單的基於終端的遊戲,我正在試圖想出一種從終端讀取輸入的方式。使用Ruby在stdin上設置非規範模式
到目前爲止,我一直在使用gets
,但是我希望遊戲能夠在不需要換行的情況下立即做出反應(所以你不需要按一個鍵,那麼輸入)。
我已經想通了,我需要把終端設置爲非規範模式,我假設我可以通過調用$stdin.ioctl
來實現。問題是,我不知道我應該傳遞什麼參數或標誌,文檔和搜索只是導致了有關底層C函數的信息。
任何人都可以告訴我什麼,我應該打電話$stdin.ioctl
與?我在OSX Leopard上使用Terminal.app/tcsh。
編輯:這是我最後使用,這要歸功於MarkusQ:
%x{stty -icanon -echo}
key = STDIN.read(1)
你讓我在stty信息的正確軌道上。看了看,發現我需要什麼。謝謝! – Luke 2009-02-25 11:01:27