我像这样建造了我的红宝石:
brew install readline
rvm install ruby-1.9.2-head -C --with-readline-dir=/usr/local/Cellar/readline/6.2.1/
当我完成标签时,它会在所有内容后附加一个空格。我在文档中发现有一个名为completion_append_character
的变量。它被设置为一个空间。如果我将其设置为nil或任何其他字符,它仍会附加一个空格。如何让它在完成后停止附加空格?
答案 0 :(得分:2)
我自己也遇到过这个问题,我认为迟到的答案总比没有答案好。经过一些研究,这是Ruby或Readline本身的一个错误,似乎存在于我能找到的每个Ruby版本中,这让我觉得它是Readline。我能够用
解决问题 gem install rb-readline
然后
require 'rb-readline'
在我的脚本中。 Rb-readline(Ruby Readline)是Readline的替代,纯Ruby实现,不依赖于C扩展,Readline.completion_append_character
变量是有效的。
答案 1 :(得分:1)
这个问题已在上一版本的Ruby 1.9.3-p125中得到解决,您可以在Changelog中看到:
Wed Feb 8 10:34:59 2012 TAKAO Kouji
- ext / readline / readline.c(readline_attempted_completion_function): 在带有GNU Readline 6案例的Readline模块中,Readline模块 执行后,将completion_append_character重置为“” 完成。所以,Readline模块存储 completion_append_character和Readline模块始终设置它 Readline模块执行完成后。 [红宝石-dev的:43456] [专题#4635]