`
hnus
  • 浏览: 29012 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

irb 與 ruby 指令

 
阅读更多






原文: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程式碼:
  • hello.rb
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

>

分享到:
评论

相关推荐

    ruby-irb-2.0.0.648-39.el7-9.x64-86.rpm.tar.gz

    1、文件内容:ruby-irb-2.0.0.648-39.el7_9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/ruby-irb-2.0.0.648-39.el7_9.tar.gz #Step2、进入解压后的目录,...

    ruby-irb-2.0.0.648-39.el7_9.noarch.rpm

    Centos7 el7.x86_64 官方离线安装包,安装指令为 sudo rpm -ivh ruby-irb-2.0.0.648-39.el7_9.noarch.rpm

    Ruby编程入门教程详解-基本语法概念及其特点

    内容概要:本篇《Ruby入门教程》引导初学者通过简易的例子逐步理解Ruby的基本语法概念及其特点,诸如IRB的应用、方法定义与使用以及类的概念与面向对象的设计等关键内容,最终演示了一段完整的程序案例以深化理解和...

    十分钟Ruby入门

    `=&gt;nil`部分表示这条命令的返回值是`nil`,在Ruby中,`nil`与Java中的`null`类似,代表没有值。 IRB不仅可以用于学习和测试Ruby代码,也可以作为一种简单的计算器使用。例如,可以输入`3 + 2`来执行基本的算术运算...

    Ruby程序设计

    Ruby环境的配置包括Ruby解释器、RubyGems(Ruby的包管理工具)、交互式Ruby(irb)和在线帮助(ri),这些工具共同构成了一个高效、灵活的开发环境。 #### 类与对象 在Ruby中,一切皆为对象。类是创建对象的模板,...

    bibtex-ruby:BibTeX库,解析器和Ruby转换器

    BibTeX-Ruby识别BibTeX字符串替换,连接包含多个字符串或变量的值,支持交叉引用,并将常见的LaTeX格式化指令解码为unicode; 如果您着急,还可以轻松导出/转换为YAML,JSON,CiteProc / CSL,XML(BibTeXML,需要...

    break:轻量级的Ruby调试器! :high_voltage:

    一旦您require "break" ,它就可以与IRB或无缝集成,并且您在REPL会话中可以直接使用next命令。 您无需记住启动调试器或更改开发流程。 Break拥抱着您的流程,而不是强迫您遵守另一种工具。 特征 控制流程执行控制...

    jruby1.7.8版本呢

    3. 使用 JRuby 的 `irb` (交互式 Ruby shell) 或者运行 Ruby 脚本,如 `jruby your_script.rb`。 **4. JRuby 与 Java 交互** JRuby 提供了多种方式来实现 Java 和 Ruby 代码的交互: - **Java 方法调用**:可以...

    Ruby中的gem包管理的使用及gem源搭建教程

    #### 二、RubyGems常用指令详解 1. **查看RubyGems版本** ``` gem -v ``` 此命令用于检查当前系统中安装的RubyGems版本。 2. **升级RubyGems** ``` gem update --system ``` 使用此命令可以将RubyGems...

    铁匠

    布里奇敦网站README 欢迎来到您的新Bridgetown网站! 您可以更新此README文件以为您自己或其他贡献者提供其他上下文和设置信息。...# load the site up within a Ruby console (IRB) bundle exec bridget

    bridgetown-with-netlify-cms

    布里奇顿(Bridgetown)网站README 欢迎使用您的新Bridgetown网站! 您可以更新此README文件,以为您自己或其他贡献者提供其他上下文和设置信息。...# load the site up within a Ruby console (IRB) bundle

    bridgetown_chucksmith.dev

    布里奇顿(Bridgetown)网站README 欢迎使用您的新Bridgetown网站! 您可以更新此README文件,以为您自己或其他贡献者提供其他上下文和设置信息。...# load the site up within a Ruby console (IRB) bundle

    one-tools:改进 shell 中用户体验的 OpenNebula CLI 脚本集合

    :打开与所有OpenNebula库的IRB会话。 :修改默认配置文件。 :创建初始的OpenNebula资源。 :带有变量的OpenNebula模板。 :返回IP的状态(已使用,保留,免费),并获得免费的IP进行保留。 :ping虚拟机。 ...

    msf 渗透测试

    - 使用`irb`命令进入Ruby解释器。 26. **查看远程目录**: - 使用`ls`命令查看目标系统的目录结构。 27. **查看本地目录**: - 使用`pwd`命令显示当前工作目录。 28. **查看远程文件**: - 使用`cat`命令查看...

    基于机器视觉的工件智能抓取技术研究.pdf-综合文档

    机械臂控制系统是连接机器视觉系统和实际物理抓取动作的桥梁,它负责根据视觉系统提供的指令执行精确的抓取动作。 6. **图像采集与处理**:文中提到了Basler acA2500-14gm这样的高性能工业摄像头,这种摄像头能够...

Global site tag (gtag.js) - Google Analytics