Ruby / Lua / Perl 格式化工具
Reindent only — not a full formatter重新缩进 Ruby、Lua 或 Perl 源代码。一个工具,覆盖三种基于关键字的语言。
使用方法
- 1 选择语言:Ruby、Lua 或 Perl。
- 2 粘贴源代码。
- 3 调整缩进宽度——Ruby 通常用 2 个空格,Lua 和 Perl 可用 2 个或 4 个空格。
- 4 复制或下载处理结果。
为什么使用此工具
- 一个工具即可覆盖三种代码块开合语法相似、均基于关键字的语言。
- 各语言的代码块开始关键字不同:Ruby 用 <code class="rounded bg-slate-100 px-1 text-xs dark:bg-slate-800">do/end</code>,Lua 用 <code class="rounded bg-slate-100 px-1 text-xs dark:bg-slate-800">function/end</code>,Perl 则用花括号。
- 全部处理都在客户端完成——你的代码永远不会离开浏览器。
- 若需要符合规范的严格格式化结果,建议在本地使用 RuboCop(Ruby)、StyLua(Lua)或 perltidy(Perl)。
常见问题
这个工具和 RuboCop 兼容吗?
不兼容——本工具只做重新缩进。RuboCop 会应用数百条风格规则(cops);而我们只根据代码块开始关键字应用缩进规则。
工具能识别 here-doc 和字符串插值吗?
缩进是按行计算的,因此 here-doc 内容可能会被多加一层不必要的行首空格。如果文件中大量使用 here-doc,建议改用该语言专属的格式化工具。
为什么一个工具能同时支持三种语言?
因为它们的代码块结构十分相似——都是用一个关键字开启代码块,再用 <code class="rounded bg-slate-100 px-1 text-xs dark:bg-slate-800">end</code> 或 <code class="rounded bg-slate-100 px-1 text-xs dark:bg-slate-800">}</code> 结束。同一套规则引擎,三套关键字。
什么是 Ruby / Lua / Perl 格式化工具?
Ruby / Lua / Perl Formatter 是一款可直接在浏览器中重新缩进 Ruby、Lua 或 Perl 源代码的工具。它将三种基于关键字的语言整合进同一个格式化工具中,根据各语言的代码块结构应用一致的缩进规则,并且全部处理都在客户端完成。
功能特性
识别关键字代码块
理解以 `end` 结尾的代码块(Ruby/Lua)以及花括号代码块(Perl),从而正确缩进。
支持三种语言
可选择 Ruby、Lua 或 Perl——每种语言都有各自正确的代码块开合规则。
100% 隐私安全
在客户端运行——你的源代码永远不会被上传。
示例
Input
class Foo
def bar(x)
return x*2
end
end
Output
class Foo
def bar(x)
return x*2
end
end
常见使用场景
-
1
修复粘贴的脚本
修复从聊天记录或 PDF 中复制的 Ruby、Lua 或 Perl 代码的缩进。
-
2
统一嵌套格式
在整个脚本中应用一致的 2 空格嵌套缩进。
-
3
快速提升可读性
在无需完整配置 linter 的情况下,分享前先整理好代码排版。
Zerethon 的 Ruby / Lua / Perl 格式化工具会在浏览器中重新调整源代码的缩进,它会跟踪关键字代码块(Ruby 和 Lua 中的 `def`/`do`/`end`,以及 Perl 中的花括号)以及字面括号。默认使用 2 个空格缩进。它是一个轻量级的重新缩进工具,而不是完整的 RuboCop 或 perltidy——它只修复嵌套结构,不会重新排版代码。所有内容都不会被上传。
- 分类
- 开发者
- 价格
- 免费
- 隐私
- 基于浏览器
- 注册
- 无需
参考资料
- The Ruby Style Guide — rubystyle.guide
- Lua 5.4 Reference Manual — Lua.org
- perlstyle — Perl style guide — perldoc.perl.org
隐私
除非另有说明,否则你的数据永远不会离开浏览器。Ruby / Lua / Perl 格式化工具 完全在客户端运行 — 无需上传服务器,不记录日志,不追踪你输入的内容。
相关工具
在 Zerethon Social 上创作、分享与成长
免费注册。赚取积分,收集成就,与全球创作者建立联系。