|
原文:http://openhome.cc/Gossip/Ruby/IrbRubyUtility.html
你 可以至Ruby 的官方網站下載安裝Ruby,初學 Ruby,可以執行Ruby安裝目錄中的irb指令,啟動指令互動環 境來作些簡單的程式練習,可以自行進入文字模式,設定PATH中包括Ruby安裝目錄的bin目錄,再執行irb指令以進入指令互動環境:
> irb
irb(main):001:0> 1 + 2 => 3
irb(main):002:0>
|
這是Ruby的指令互動環境,可以讓你很快地撰寫一些小指令進行測試(經常的,你只是要看看某個指令這麼用對不對,或會有什麼結果),上例執行1 + 2,=> 3表示結果為3,如果想離開irb,可以輸入exit。
預設irb提示(Prompt)較為冗長,可以執行irb時加上--simple-prompt,顯示簡單提示字元,順便來看幾個簡單的互動:
>irb --simple-prompt
>> 1 + 2 => 3
>> _ => 3
>> 1 + _ => 4
>> _ => 4
>> print "Hello! Ruby!\n" Hello! Ruby!
=> nil >>
|
這執行了1 + 2,顯示結果為3,_代表了互動環境中上一次運算結果,方便你在下一次的運算中直接取用上一次的運算結果。最後一次執行了print,這個方法可顯示指定的文字,print不會換行,所以字串最後加上\n表示要換行,最後=>
nil表示print執行結束沒有傳回結果,這是蠻有用的資訊,如果真的不想看到,可以在執行irb時加上--noecho,不過這也就不會顯示如1+2的執行結果:
>irb --simple-prompt --noecho
>> print "Hello! Ruby!\n" Hello! Ruby!
>> 1 + 2
>>
|
再來看看其它的一些互動:
>> for i in 1..4
>> puts i
>> end 1
2
3
4
=> 1..4
>> def do_some()
>> puts "Hi"
>> end => nil
>> do_some() Hi => nil
>> for
?>
?>
?> end SyntaxError: (irb):30: syntax error, unexpected keyword_end
from C:/Winware/Ruby191/bin/irb:12:in `<main>' >>
|
你可以在互動中直接觀察程式碼的執行結果,Ruby的許多定義都是以end結尾,如果在irb中輸入錯誤了,可以嘗試輸入end回到正常提示字元。
你可以撰寫一個純文字檔案,建議副檔名為.rb,在當中撰寫Ruby程式碼:
puts "Hello! Ruby!"
程式中puts會將指定的文字輸出後換行,接著如下執行ruby指令啟動Ruby直譯器,載入指令稿直譯並執行:
>ruby hello.rb
Hello!Ruby!
>
|
如果只是要測試一小段簡單的指令稿,不一定要寫.rb檔案,也不一定要進入irb,可以在執行ruby指令時,於-e之後用單引號括住指令稿,多行程式碼時以分號區隔。例如:
>ruby hello.rb
Hello!Ruby!
>ruby -e 'print "Hello! Ruby!\n"; puts "Hello! Ruby"'
Hello! Ruby!
Hello! Ruby
>
|
在執行ruby指令時,可以指定-c僅檢查語法但不執行程式,指定-w顯示額外警訊,由於-c、-w經常一起指定,所以有個-cw可以達到分別指定-c、-w的效果。例如:
>ruby -c -w hello.rb
Syntax OK
>ruby -cw -e 'x = 10; print (1 + x)' -e:1: warning: (...) interpreted as grouped expression
Syntax OK
>
|
由於Ruby在呼叫方法時可以省略括號,上例第二個指令稿中,(1 + x)的括號被直譯器解釋為優先執行1 + x,而不會是print方法的括號,雖然就這個例子而言,哪個解釋的執行結果都相同,但有些情況下這類的解釋可能不是你想要的,於是直譯器提出了警告訊息。
執行ruby指令時,可以指定--version:
>ruby --version ruby 1.9.1p430 (2010-08-16 revision 28998) [i386-mingw32]
>
|
指定-v時,會先顯示版本訊息,而後像警告模式-w執行程式:
>ruby -v ruby 1.9.1p430 (2010-08-16 revision 28998) [i386-mingw32]
Hello! Ruby!
>
|
以上是常用的ruby指令選項,如果想知道更多選項,可以執行ruby時鍵入--help或-h顯示說明清單:
>ruby -h Usage: ruby [switches] [--] [programfile] [arguments]
-0[octal] specify record separator (\0, if no argument)
-a autosplit mode with -n or -p (splits $_ into $F)
-c check syntax only
-Cdirectory cd to directory, before executing your script
-d set debugging flags (set $DEBUG to true)
-e 'command' one line of script. Several -e's allowed. Omit [programfile]
-Eex[:in] specify the default external and internal character encodings
-Fpattern split() pattern for autosplit (-a)
-i[extension] edit ARGV files in place (make backup if extension supplied)
-Idirectory specify $LOAD_PATH directory (may be used more than once)
-l enable line ending processing
-n assume 'while gets(); ... end' loop around your script
-p assume loop like -n but print line also like sed
-rlibrary require the library, before executing your script
-s enable some switch parsing for switches after script name
-S look for the script using PATH environment variable
-T[level] turn on tainting checks
-v print version number, then turn on verbose mode
-w turn warnings on for your script
-W[level] set warning level; 0=silence, 1=medium, 2=verbose (default for
level)
-x[directory] strip off text before #!ruby line and perhaps cd to directory
--copyright print the copyright
--version print the version
>
|
|
相关推荐
irbtools - 改善Ruby的IRB控制台
ruby-irb-1.8.7.352-13.el6.x86_64.rpm ruby-irb-1.8.7.352-13.el6.x86_64.rpm
opal-irb, Opal的IRB ( 交互式 ruby ) 蛋白石 irb Opal ( 。ruby 在javascript上运行)的irb ( 交互式 ruby ) 。 这是网页上的交互式控制台( REPL ) 。 不需要安装任何东西就可以交互式测试蛋白石/ruby 。 打算成为...
最适合作为您的默认REPL检查器(请参见下面的用法部分),但不需要IRB。 支持的Ruby:3.0、2.7、2.6、2.5 较旧的Ruby,应该可以工作:2.4、2.3、2.2、2.1、2.0,rubinius 古代Ruby( ):请使用 产品特点 检查的...
100-abb IRB5500与 IRB2400机器人D-H建立坐标系
IRB1600-10/1.45工业机器人 手腕持重: 10 kg 最大臂展半径: 1.45m 轴数: 6轴 重复定位精度: 0.05mm(多台机器人测试综合平均值) 机器人版本: 铸造专家型二代 防护等级: IP67 轴运动: 轴 动作范围 最大速度 1...
ripl, ruby 交互式打印循环,与irb的模块化模块替代 描述ripl是一个轻型 shell,鼓励用于 ruby shell的shell 换句话说,rack的通用中间件。 它也是irb的模块化替代方案。 irb一样,它加载 ~/.irbrc, 具有自动补全并...
内部评级法IRB代表“交互式... $ irbirb(main):001:0> 1+2#=> 3irb(main):002:0> class Fooirb(main):003:1> def fooirb(main):004:2> print 1irb(main):005:2> endirb(main):006:1> end#=> nilReadline扩展模块可与i
IRB 120 具有敏捷、紧凑、轻量的特点,控制精度与路径精度俱优,是物料搬运与装配应用的理想选择。 紧凑轻量 作为 ABB 目前最小的机器人,IRB 120 在紧凑空间内凝聚了 ABB 产品系列的全部功能与技术。其重量减至 仅...
ABB IRB2600机器人维护信息pdf,ABB IRB2600机器人维护信息
ABB IRB6700 模型,是STEP图档格式,使用与工厂机器人布局。
ABB IRB1600ID 工业机器人产品手册pdf,ABB IRB1600ID 工业机器人产品手册
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
ABB IRB2600ID 工业机器人产品手册pdf,ABB IRB2600ID 工业机器人产品手册
ABB IRB1600机器人产品手册pdf,ABB IRB1600机器人产品手册:在优化速度和精度时,往往会造成性能的损失。有了ABB IRB 1600 机器人,您不必再为选择发愁。这款机器人大大缩短了工作周期,有时甚至仅为其他机器人的...
ABB IRB5500 工业机器人技术样本pdf,ABB IRB5500 工业机器人技术样本
发那科工业机器人,ABB六轴工业机器人IRB120 IRB4400 solidwork模型下载资源,并提供模型下载地址
与传统的刚性自动化技术相比较,IRB 360 具有高灵活性、节拍时间短、占地面积小、精度高和负载大 等优势。 IRB 360 IRB 360 系列包括负载为 1kg、3kg、6kg 和 8kg 以及横向 活动范围为 1130mm 和 1600mm 等几个型号...
IRB120机器人维护信息