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

Ruby on rails 如何将多行代码复制粘贴到rails控制台(例如,从脚本复制粘贴),ruby-on-rails,Ruby On Rails,我从中发现,如果您想要在rails控制台中运行一个脚本,有时必须逐行复制粘贴它(一次复制粘贴并不总是有效) 这对于冗长的脚本来说是非常乏味的 有没有变通的方法或更快的方法 示例-这不会将粘贴从文本编辑器复制到控制台: class Article def initialize(title, link, paragraphs) @title = title @link = link @paragraphs = paragraphs e

我从中发现,如果您想要在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控制台中。但当我从sublime text 3中获取相同的文本时,它会在第二行之后出错,带有: 显示所有522种可能性?(是或不是)

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

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

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


对我来说,将标签替换为空格是不够的,可能是因为我试图粘贴的内容太大了。对我有效的方法是删除所有不需要的空格,用分号替换换行符,用一行花括号块替换do…end块。基本上把所有的东西都放到尽可能少的行中。

这个问题(在控制台上、Mac上、使用iTerm将多行代码粘贴到irb中)困扰了我很长时间,最终找到了解决方案

在我的例子中,问题在于iTerm。事实证明,默认情况下,iTerm粘贴内容的速度对于irb用来读取输入的库readline来说太快了

解决方案是编辑>特殊粘贴>慢速粘贴两次


请参阅此处了解类似的案例:

复制/粘贴多行在我的控制台中效果很好。我重新编写了这个问题,问它为什么有时有效,而有时无效others@jvillian谢谢你的帮助,我发现我有标签缩进,rails控制台只喜欢spacesGlad,你看到的问题是标签(始终在Ruby中使用空格,并缩进两个空格)。由于以下原因,一次可以粘贴的字符数可能会受到限制。(虽然这里没有发生这种情况)