首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在中使用之后会有一个额外的空行呢?

为什么在中使用之后会有一个额外的空行呢?
EN

Stack Overflow用户
提问于 2017-04-10 15:24:48
回答 1查看 324关注 0票数 0

我有一些处理Gemfile的Ruby代码。它添加了一些推荐的宝石,并删除了其他的宝石。Gemfile的一个部分如下所示:

代码语言:javascript
复制
group :development, :test do
  # The gem version is a recommended starting place; upgrade if needed.
  gem 'pry-rails', '~> 0.3.4'
  # Enhance pry with byebug (which gives more debugger commands and other goodies).
  # The gem version is a recommended starting place; upgrade if needed.
  gem 'pry-byebug', '~> 3.4.0'
  # Use rspec for testing
  gem 'rspec-rails', '~> 3.5.1'
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platform: mri
end

我使用以下两行删除块的最后两行( gem 'byebug ...行和上面的注释)。

代码语言:javascript
复制
gsub_file(full_app_gemfile_path, /^\s*gem\s*("|')byebug.*$/, "", verbose: false)
gsub_file(full_app_gemfile_path, /^\s*#.*Call.*("|')byebug("|').*$/, "", verbose: false)

gsub_fileThor gem提供的一种方法。移除工作,但我在Gemfile中得到了以下代码

代码语言:javascript
复制
group :development, :test do

  # The gem version is a recommended starting place; upgrade if needed.
  gem 'pry-rails', '~> 0.3.4'
  # Enhance pry with byebug (which gives more debugger commands and other goodies).
  # The gem version is a recommended starting place; upgrade if needed.
  gem 'pry-byebug', '~> 3.4.0'
  # Use rspec for testing
  gem 'rspec-rails', '~> 3.5.1'
end

为什么在group :development, :test do之后插入额外的空行?离线被移开的地方还很远。它可能是Thor宝石中的一个bug,但我想知道它是否是regex问题。

更新

我刚刚尝试使用原始的ruby (以消除潜在的Thor问题)。我创建了一个助手方法

代码语言:javascript
复制
def my_gsub(path, regex, str)
  text = File.read(path)
  rep = text.gsub(regex, str)
  File.open(path, "w") {|file| file.puts rep}
end

当我将调用gsub_file的两行更改为调用my_gsub时,现在在group :development, :test do之后得到两个空行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-10 16:03:05

对于您的方法my_gsub,您要替换行的内容而不替换换行符。为了使它也移除换行符,您可以将regex更改为:

代码语言:javascript
复制
gsub_file(full_app_gemfile_path, /^\s*gem\s*("|')byebug.*$\n/, "")
gsub_file(full_app_gemfile_path, /^\s*#.*Call.*("|')byebug("|').*$\n/, "")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43327165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档