ruby 源码

脚本 rb1021.rb

-----------------------------------------------------------------------------------------

  1 #!/usr/bin/ruby
  2 # ruby code
  3
  4 class MegaGreeter
  5     attr_accessor :names
  6
  7     # Create the object
  8     def initialize(names = "world")
  9         @names = names
 10     end
 11
 12     # Say hi to everybody
 13     def say_hi
 14         if @names.nil?
 15             puts "..."
 16         elsif @names.respond_to?("each")
 17
 18             # @names is a list of some kind, iterate!
 19             @names.each do |name|
 20                 puts "Hello #{name}!"
 21             end
 22         else
 23             puts "Hello #{@names}!"
24         end
 25     end
 26
 27     # Say hi to everybody
 28     def say_bye
 29         if @names.nil?
 30             puts "..."
 31         elsif @name.respond_to?("join")
 32             # join the list elements with commas
 33             puts "Goodbye #{@names.join(", ")}. come back soon!"
 34         else
 35             puts "Goodbye #{@names}. come back soon!"
 36         end
 37     end
 38 end
 39
 40 if __FILE__ == $0
 41     mg = MegaGreeter.new
 42     mg.say_hi
 43     mg.say_bye
 44
 45     # Change name to be "Zeke"
 46     mg.names = "Zeke"
 47     mg.say_hi
 48     mg.say_bye
 49
 50     # Change the name to an array of names
 51     mg.names = ["Albert", "Brenda", "Charles", "Dave", "Englebert"]
 52     mg.say_hi
 53     mg.say_bye
 54
 55     # Change to nil
 56     mg.names = nil
 57     mg.say_hi
 58     mg.say_bye
 59 end

-----------------------------------------------------------------------------------------

输出

-----------------------------------------------------------------------------------------

[embedded@embedded ruby]$ ruby rb1021.rb
Hello world!
Goodbye world. come back soon!
Hello Zeke!
Goodbye Zeke. come back soon!
Hello Albert!
Hello Brenda!
Hello Charles!
Hello Dave!
Hello Englebert!
Goodbye AlbertBrendaCharlesDaveEnglebert. come back soon!
...
...

-----------------------------------------------------------------------------------------

脚本源码

看一下 bash python ruby各个路径

-----------------------------------------------------------------------------------------

[embedded@embedded ~]$ whereis ruby
ruby: /usr/bin/ruby /usr/lib/ruby /usr/share/man/man1/ruby.1.gz
[embedded@embedded ~]$ whereis bash
bash: /bin/bash /usr/share/man/man1/bash.1.gz
[embedded@embedded ~]$ whereis python
python: /usr/bin/python /usr/bin/python2.6 /usr/bin/python2.6-config /usr/lib/python2.6 /usr/include/python2.6 /usr/share/man/man1/python.1.gz

-----------------------------------------------------------------------------------------

脚本开头 #!/usr/bin/ruby  类似bash脚本的 #!/bin/bash,包括解释行的命令的路径

# 为注释标记

待续..........................


上一篇:ruby便捷进门


下一篇:linux .xz解压和创建