2015-11-02 64 views
3

我正在研究Ruby中的問題/回答命令行程序。我希望讓用戶在需要時編輯問題或答案,但我找不到任何這樣做的過度矯枉過正的方法。我試圖鑽研curses,但無法找到任何方式在那裏展示可編輯的文本,而無需編寫整個自己的東西,這是一個原型應用程序的過度殺傷力。我嘗試使用Readline:如何在命令行應用程序中顯示可編輯文本?

Readline.pre_input_hook = -> do 
    Readline.insert_text "hello.txt" 
    Readline.redisplay 

    # Remove the hook right away. 
    Readline.pre_input_hook = nil 
end 

input = Readline.readline("Filename: ", false) 

但它除了打印「文件名:」之外不執行任何操作。 Python的詛咒似乎有一個文本小部件「textarea」,但紅寶石似乎並沒有它。

回答

0

如果問題是一個體面的長度,它可能是值得有一個選項,剛剛啓動$EDITOR(六(米),納米等)。否則,請查看libeditlibreadline

+0

我使用ruby 2.0,並想限制自己使用標準庫。我嘗試了Readline的pre_input_hook功能,但它什麼也沒做(看編輯的問題)。 – Melodius

+0

@Melodius不夠公平,但恐怕我對Ruby標準庫的幫助不夠大(我是一個Python人)。 Readline *應該*工作,但是...呃。 – felixphew

相關問題