交互式 Ruby Shell irb

               

irb 是从命令行运行的

irb 的命令行选项(摘自 Porgramming Ruby 第二版)

-f 禁止读取~/.irbrc Suppress reading ~/.irbrc.
-m 数学模式(支持分数和矩阵) Math mode (fraction and matrix support is available).
-d 设置#DEBUG为true(同ruby -d一样)  Set $DEBUG to true (same as ``ruby -d'').
-r load-module 同ruby -r Same as ``ruby -r''.
--inspect 使用Object#inspect来格式化输出(默认方式,除数学模式外) Use ``inspect'' for output (the default, unless in math mode).

 
--noinspect 不使用inspect进行输出 Do not use inspect for output.
--readline 使用Readline扩展模块 Use Readline extension module.
--noreadline 不使用Readline扩展模块 Do not use Readline extension module.
--prompt prompt-mode 切换提示符。预定义的模式包括(null,default,simple,xmp以及inf-ruby) Switch prompt mode. Predefined prompt modes are ``default'', ``simple'', ``xmp'', and ``inf-ruby''.
--prompt-mode prompt-mode Same as --prompt.


 
--inf-ruby-mode 设置irb以Emacs的inf-ruby-mode模式运行,更改提示符并废止-readline Sets up irb to run in inf-ruby-mode under Emacs. Changes the prompt and suppresses --readline.

 
--simple-prompt 使用简单的提示符 Simple prompt mode.
--noprompt 不显示提示符 Do not display a prompt.
--tracer 显示命令执行的跟踪 Display trace for execution of commands.
--back-trace-limit n 显示最顶部和尾部的n项回溯信息。默认值为16 Display backtrace information using the top n and last n entries. The default value is 16.

 
--irb_debug n 将内部调试级别设置为n(只对irb的开发有用) Set internal debug level to n (only for irb development).

 
-v, --version 显示irb的版本号 Print the version of irb.

命令行开始执行后,irb显示一个提示符并等待输入。
使用irb的默认提示符,它显示当前的绑定、缩进(嵌套)级别以及行号。

如:
C:/>irb
irb(main):001:0> elvuel="elvuel"
=> "elvuel"
irb(main):002:0> elvuel.class
=> String
 

可以通过exit 或 quit,或者通过输入一个文件结束符号(如果没有设置IGNORE_EOF模式)来退出irb.

在一个irb会话中,你所设置的变量、定义的方法及创建的类都将被记忆在irb的工作区中,并可被后续使用。

现在做一个示例:
将一个文件 a.rb加载到irb(这样就可以创建它定义的类的实例并调用其方法)
C:/>irb
irb(main)001:0>load a.rb (load同require区别在于:load允许我们多次加载同一个文件,如果我们发现一个bug然后编辑文件,可以将文件重新加载到irb会话中)
irb(main):002:0>这里来创建或调用:类或方法。。。

irb子会话
irb支持多个 并发的会话.
相关命令说明
jobs:该命令列出所有的会话, fg:激活一个特定的对话  在命令行下显示如: irb(main)x9>fg 0 其中0为会话标识
退出子会话的命令为irb_exit

irb子会话与绑定
    如果当你创建子会话时指定了一个对象,它会成为会话中的self的值.
 

C:/>irb
irb(main):001:0> self
=> main
irb(main):002:0> irb "elvuel"
irb#1(elvuel):001:0> upcase
=> "ELVUEL"
irb#1(elvuel):002:0> self
=> "elvuel"
irb#1(elvuel):003:0> size
=> 6
irb#1(elvuel):004:0> gsub(/e/,'a')
=> "alvual"
irb#1(elvuel):005:0> irb_exit
=> #, @signal_status=:IN_EVAL, @sca
nner=#>
irb(main):003:0> self
=> main
irb(main):004:0>

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值