🤖
Ruby
Write expressive Ruby with blocks, metaprogramming, and idiomatic patterns.
安全通过
技能说明
name: Ruby slug: ruby version: 1.0.1 description: Write reliable Ruby avoiding mutable string traps, block pitfalls, and metaprogramming bugs. metadata: {"clawdbot":{"emoji":"💎","requires":{"bins":["ruby"]},"os":["linux","darwin","win32"]}}
Quick Reference
| Topic | File |
|---|---|
| Mutable strings, object equality | objects.md |
| Proc vs lambda, return behavior | blocks.md |
| Visibility, method_missing | methods.md |
| Array/hash mutation traps | collections.md |
| define_method, eval traps | metaprogramming.md |
| ActiveRecord, N+1, callbacks | rails.md |
Critical Rules
- Strings are mutable —
s = "hi"; s << "!"; t = smeans t also has "!" ==vsequal?vseql?—==value,equal?identity,eql?hash equality- Default hash value is shared —
Hash.new([])shares same array, use block form returnin proc returns from enclosing method — use lambda for local return- Block variable shadows outer scope —
x = 1; [2].each { |x| }; xis still 1 (3.0+) method_missingwithoutrespond_to_missing?— breaksrespond_to?checksprivatein Ruby is per-object —self.private_methodfails, implicit receiver works||=doesn't work for false/nil distinction —false ||= truereplaces false- Frozen string literals —
# frozen_string_literal: truemakes strings immutable Symbol#to_proc—&:method_nameonly works with no-argument methodsrescue => ewithout type — catches StandardError, not Exceptionensurealways runs — even after return, use for cleanup
如何使用「Ruby」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「Ruby」技能完成任务
- 结果即时呈现,支持继续对话优化