不喜欢广告? 无广告 今天

Ruby 代码格式化工具

开发人员文本
广告 移除?
广告 移除?

指导

Ruby 代码格式化器

Ruby 代码格式化工具

粘贴您的 Ruby 代码,并立即将其格式化为符合标准 Ruby 风格:2 个空格缩进,运算符间距一致,删除末尾空白字符,以及整洁的块结构。该格式化器完全在您的浏览器中运行,因此您的代码永远不会离开您的机器。

如何使用

  1. 将您的 Ruby 源代码粘贴到输入区域,或点击 尝试一个示例 加载示例。
  2. 选择缩进大小(2 个空格是 Ruby 社区的默认值)。
  3. 切换 排序 require / require_relative 如果您希望导入块按字母顺序重新排列。
  4. 切换 在方法定义之间插入空行 以获得更清晰的类体。
  5. 点击 格式,然后复制或下载结果。

特征

  • 标准 Ruby 风格 – 2 个空格缩进,不使用制表符,不保留末尾空白。
  • 操作符间距 – 运算符周围保持一致的空格 =, =>,比较和复合赋值运算符。
  • 块感知缩进 – 识别 class, module, def, if, case, begin, do,以及匹配 end/} 标记。
  • 安全的 heredoc<<~, <<-,以及裸 heredoc 内容保持原样,因此多行字符串保持完整。
  • 修饰符形式感知 – 单行末尾的 if, unless, while,并且 until 不被视为块打开符。
  • 可选的 require 排序 – 按字母顺序排列文件顶部的 require/require_relative 块。
  • 可选的方法间距 – 在相邻方法定义之间插入空行以提高可读性。
  • 隐私优先 – 所有操作都在浏览器中运行,无需上传,无需日志记录。

常问问题

  1. 为什么 2 个空格缩进被认为是 Ruby 风格?

    Ruby 社区通过 Ruby 风格指南和原始 RuboCop 默认设置很早就确立了 2 个空格缩进。2 个空格缩进使深度嵌套的块(迭代器中的闭包、嵌套类、case 语句中的 when 分支)在水平方向上紧凑,这与 Ruby 偏好短方法和表达性块语法相辅相成。大多数流行的 Ruby 项目,包括 Rails,都遵循这一约定。

  2. do...end 和大括号块的区别是什么?

    功能上, do...end{ ... } 描述了相同的构造——一个传递给方法的块——但由于运算符优先级的不同,它们的绑定方式不同。 do...end 松散绑定(因此 arr.each do |x| ... end.size 调用 .size 的结果,而不是块的返回值),而 each则紧密绑定到最近的方法调用。风格指南通常将大括号保留给单行块, { ... } 用于多行块。 do...end Ruby 中 if 和 unless 的修饰形式是如何工作的?

  3. Ruby 允许您在语句后放置一个条件,例如

    。这被称为 return nil if value.nil?修饰形式 。它在语法上是一个单一表达式,而不是一个块,因此不需要一个。修饰形式对于简短的守卫条件读起来自然,但对于复杂条件,通常避免使用,而采用多行 end块会更清晰。 if 什么是 heredoc 以及为什么更偏好波浪线 heredoc?

  4. Heredoc 是一种多行字符串字面量,以

    开头,以包含仅 <<TAG 的行结尾。普通的 TAG要求关闭标签从第零列开始,这与缩进代码冲突。 <<TAG 允许关闭标签缩进,但保持正文的每一行完全不变。 <<-TAG (在 Ruby 2.3 中引入的波浪线 heredoc)会从正文的每一行中移除最小的公共前导缩进,因此字面量可以与周围代码的缩进匹配,而不会在生成的字符串中泄露空格。 <<~TAG 在此粘贴您的 Ruby 代码...

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?