gpt4 book ai didi

ruby - 撤消自动缩进

转载 作者:数据小太阳 更新时间:2023-10-29 06:54:32 25 4
gpt4 key购买 nike

当你使用带自动缩进模式的 irb 时,end 语句会额外缩进一层

 def foo
...
end

而不是显示普通的缩进约定:

def foo
...
end

因为你不能提前告诉irb你要在下一行越狱一个关卡。这个问题已经在其他地方得到解决,比如 herehere ,但都没有给出令人满意的答案。他们只是建议放弃。

但是,如果我们可以最低限度地覆盖一些 irb 方法,以便自动缩进将插入空格而不是在提示区域,而是在您键入的行的开头,那么默认情况下,irb 仍将插入空格,但我们将能够用退格键删除一些空格。这可能吗?

或者,如果这不现实,那么是否可以让 irb 从屏幕上删除最后一行,并在您在包含 end 的行上按 Enter 后立即以适当的缩进重新显示它?

最佳答案

重写最后一行是可能的。在 irb 中做这件事很困难,因为它缺乏文档和跨版本一致的 api。 irb 替代品,ripl , 已经用 auto-indent plugin 为自己解决了这个问题.如果您想尝试 ripl 及其自动缩进:

$ gem install ripl-auto_indent
$ echo "require 'ripl/auto_indent'" >> ~/.riplrc

# Auto-indent away
$ ripl
>> def foo
>> puts "it's auto-magic!"
>> end

关于ruby - 撤消自动缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6078569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com