Rubyは、日本人 まつもとゆきひろ氏の開発で
    作られた、オブジェクト指向スクリプト言語
    ワンライナーでもインタラクティブモードでも
ソースファイル起動でも可能である。
インタプリタ言語であり、記述後のコンパイルが不要
perl の後継として活用されている他多数の可能性がある。
  
ワンライナー
> ruby -e 'puts "Hello, World."' 
Hello, World.
インターラクティブモード
$ irb
irb(main):001:0> 1+2
1+2
=> 3
irb(main):002:0> p "Hello"
p "Hello"
"Hello"
=> "Hello"
irb(mainw):003:0> quit
ソースファイル起動
Rubyで書かれたソースファイルを、ruby.rb とする。
$ ruby ruby.rb  ソースファイル起動
$ ruby -c ruby.rb  ソースファイルをチェック
$ ruby -d ruby.rb  ソースファイルをデバッグ
    プログラムファイル
   以下の行(1行目)を最初に記入すれば、プログラムとして
    直接実行できる。
    prog.rb とし、その内容は
    #!/bin/ruby <==必要な行
    ## コメント行
    p "Hello,World!" <=ここからプログラムを書く
emacs なら Esc ! ruby -c prog.rbで
文法チェック
Syntax OK
で文法上問題なし
bash-3.2$ ./prog.rb 実行してみる
./prog.rb
bash: ./prog.rb: Permission denie エラー permisson に実行権限がない
bash-3.2$ chmod 755 prog.rb permisson 755に変更
chmod 755 prog.rb
bash-3.2$ ./prog.rb 実行してみる。
./prog.rb 
bash: ./prog.rb: /bin/ruby: bad interpreter: No such file or directory
エラーが出た。これは、prog.rb 一行目のruby のディレクトリが違うからだ
bash-3.2$ which ruby whichでrubyがどこのディレクトリに保存されているか確認
	      
which ruby
    /usr/bin/ruby ここに保存されているので
    一行目 #!/bin/ruby を #!/usr/bin/ruby に変更する。
    変更後、再びチェックをする。
        bash-3.2$ ruby -c prog.rb
ruby -c prog.rb
Syntax OK
いよいよ実行してみる(3回目)
 
    bash-3.2$ ./prog.rb
./prog.rb
"Hello,World!"
    やっとできた。
    完成したプログラムは
    
cat -n prog.rb
     1	#!/usr/bin/ruby
     2	# coding: utf-8
     3	## コメント行
     4	p "Hello,World!"
     5	    
2行目は、rubyが勝手に追記した。
    
  
print << E O F 
<< と E O F の間はスペースを入れない
	      printcomment
	       変数展開は#{hen}
	       EOF ##ここまで
	       
コメント
行の途中からのコメントは作れない
#  行の頭に#をつけるとその行はコメント行となる
複数のコメントには
=begin
コメントの複数行
   は
     =beginと=endで囲む
  何行でもok
 データの変更履歴なども書き込む   
=end
require
取り込むファイルが、同じフォルダにある
hello.rb を取り込む場合
require_relative './hello.rb'
のように、使う
標準ライブラリ 例えば cgi などは
 
require "cgi-lib"
input = CGI.new
require "date"
day = Date.today
など記す
$ 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 -es allowed. Omit [programfile]
  -Eex[:in]       specify the default external and internal character encodings
  -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=1]     turn on tainting checks
  -v              print version number, then turn on verbose mode
  -w              turn warnings on for your script
  -W[level=2]     set warning level; 0=silence, 1=medium, 2=verbose
  -x[directory]   strip off text before #!ruby line and perhaps cd to directory
  -h              show this message, --help for more info
ruby -v
$ ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin15]
$