Shp*_*ord 6 ruby terminal command-line
我专门使用OS X Terminal.app来获取命令行内容,但是这个问题也可能适用于其他命令行工具.
假设我想从命令行运行这个ruby代码块:
Cats.each do |cat|
cat.name = 'Mommy'
cat.kittens each do |kitten|
kitten.color = "Brown"
end
end
Run Code Online (Sandbox Code Playgroud)
现在,如果我复制/粘贴它只是分解并且不执行.
Jak*_*mpl 25
ruby -e "Cats.each do |cat|
cat.name = 'Mommy'
cat.kittens each do |kitten|
kitten.color = 'Brown'
end
end"
Run Code Online (Sandbox Code Playgroud)
请注意,Terminal.app 本身并不是 Ruby 解释器。您需要启动irb以获得交互式 Ruby 控制台:
user@host # irb
irb(main):001:0> Cats.each do |cat|
irb(main):002:1* cat.name = 'Mommy'
irb(main):003:1>
irb(main):004:1* cat.kittens each do |kitten|
irb(main):005:2* kitten.color = "Brown"
irb(main):006:2> end
irb(main):007:1> end
NameError: uninitialized constant Cats
from (irb):1
from :0
Run Code Online (Sandbox Code Playgroud)
您还可以使用其他技巧irb在特定脚本的上下文中运行。
| 归档时间: |
|
| 查看次数: |
7916 次 |
| 最近记录: |