如何将多行代码粘贴到rails控制台中(例如从脚本中复制粘贴)

时间:2018-04-17 00:15:23

标签: ruby-on-rails

我从here发现如果你想要在rails控制台中运行一个脚本,你有时必须逐行复制粘贴(复制粘贴一次并不总是有效) )

这对冗长的脚本来说非常繁琐

有工作还是更快的方式?

示例 - 这不会将粘贴从文本编辑器复制到控制台:

class Article
    def initialize(title, link, paragraphs)
        @title = title
        @link = link
        @paragraphs = paragraphs 
    end
    attr_reader :title
    attr_reader :link
    attr_reader :paragraphs
end

修改 上面的剪切复制粘贴到rails控制台中。但是当我从崇高的文本3中获取相同的文本时,它在第二行之后出错,其中: 显示所有522种可能性? (是或否)..

答案 我找出了原因。我的脚本(在崇高文本中)使用制表符作为缩进。 rails控制台仅接受空格作为缩进。这是我生命中的一小时,我不会回来。我希望这能节省一些时间。

3 个答案:

答案 0 :(得分:5)

这个问题(将多行代码粘贴到控制台上的irb中)困扰了我很长时间,终于找到了解决方案。

就我而言,问题出在iTerm 上。事实证明,iTerm默认情况下以对readline来说太快的速度粘贴内容,irb用来读取输入的库。

解决方案是执行两次 Edit> Paste Special> Paste Slower

有关类似情况,请参见此处:https://gitlab.com/gnachman/iterm2/issues/3607

答案 1 :(得分:1)

由于声誉,我无法发表评论,因此我添加了一个可以节省一些时间的“提示”的答案。

在用于编写代码的大多数文本编辑器/ IDE中,您可以选择用一定量的空格替换制表。这样做是件好事,以避免文件中的制表字符引起像你一样的错误;)

https://www.sublimetext.com/docs/3/indentation.html

答案 2 :(得分:0)

对我来说,将制表符替换为空格是不够的,也许是因为我尝试粘贴的内容太大了。对我有用的是删除所有不需要的空格,用分号替换换行符,并用一行大括号块替换do ... end块。基本上将所有内容放入尽可能少的行中。