tswi's dev

動くものが正しいものだ

Rubyの学習(第2回)

定数

先頭1文字を大文字にすること

Var = "Constant"
puts Var
#=> Constant

# 定数に再度値を入れようとすると警告が出るが、代入自体は可能な模様
Var = "CONSTANT"
#=> warning: already initialized constant Var
puts Var
#=> CONSTANT


組込み定数。

# ARGF
# 引数または標準入力により構成される仮想ファイル
# 下記のように記述すると、引数で指定したファイルを1行ずつ処理できる
ARGF.each do |line|
  puts line
end

# ARGV
# コマンドライン引数
puts ARGV[0]

# ENV
# 環境変数
puts ENV['PATH']
#=> /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin

# RUBY_VERSION
# Ruby処理系のバージョン
puts RUBY_VERSION
#=> 1.8.7

# RUBY_RELEASE_DATE
# Ruby処理系のリリース日
puts RUBY_RELEASE_DATE
#=> 2011-12-28

# RUBY_PLATFORM
# 実行環境
puts RUBY_PLATFORM
#=> universal-darwin11.0

# STDIN
# 標準入力

# STDOUT
# 標準出力

# STDERR
# 標準エラー出力

# DATA
# __END__以降を扱うオブジェクト
# ファイルに"__END__"を記載すると、以降の記載はデータとなる
DATA.each do |line|
  puts line
end
__END__
abc
def
ghi
#=> abc
#=> def
#=> ghi

コメント

1行コメント

# 井桁を記入すると、そこから行末までがコメントアウトされる

複数行コメント

=begin
"=begin"〜"=end"で囲まれた範囲は
すべてコメントアウトされる
=end

配列

型を混在させることができる。

array = [1, "abc", 10.7]

array.each do |line|
  puts line
end
#=> 1
#=> abc
#=> 10.7

puts array[0]
#=> 1

# 範囲を指定することもできる
puts array[0..2]
#=> 1
#=> abc
#=> 10.7

# 範囲指定を"..."でつなげると、最大値未満までが対象となる
puts array[0...2]
#=> 1
#=> abc

# 存在しない要素番号を指定するとnilが返る
puts array[3]
#=> nil

# 範囲指定で存在しない要素番号がある場合、nilは返らない
puts array[0..3]
#=> 1
#=> abc
#=> 10.7 


とりあえずこんなところ。
本当にスルスル書けるけど、誤った操作を許容してしまいそうな気がする。
試験が非常に重要になりそう。