Ruby on rails 如何将多行代码复制粘贴到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
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中使用空格,并缩进两个空格)。由于以下原因,一次可以粘贴的字符数可能会受到限制。(虽然这里没有发生这种情况)