配列から特定の要素を削除<< 目次配列から不要な要素を正規表現で判定して削除する。array = [ "a", "b", "c"]p arrayarray.delete_if{|x| /b/ =~ x }p array実行結果["a", "b", "c"]["a", "c"]<< 目次
配列に要素を追加<< 目次配列の先頭、または、最後に要素を追加する。array1 = [ "a", "b", "c"]p array1array1.push("d")p array1array1 << "e"p array1array1.unshift("f")p array1実行結果["a", "b", "c"]["a", "b", "c", "d"]["a", "b", "c", "d", "e"]["f", "a", "b", "c", "d", "e"]<< 目次
配列定義<< 目次配列を定義する。array1 = [ "a", "b", "c"]array2 = [ 1, 2, 3]array3 = [ "a", 1, "b", 2, "c", 3]p array1p array2p array3実行結果["a", "b", "c"][1, 2, 3]["a", 1, "b", 2, "c", 3]<< 目次
文字列を改行で区切って配列に格納<< 目次文章を一度配列にしてしまうと何かと便利である。str = "aaaabbbbbcccccccddddd"lines = str.rstrip.split(/\r?\n/).map {|line| line.chomp }p lines実行結果["aaaa", "bbbbb", "ccccccc", "ddddd"]<< 目次
while文<< 目次while ~ end で書く。i = 0while i < 5 puts i i += 1end実行結果01234while といえば、break である。意味がないけど強引に以下のように使ってみる。i = 0while i < 5 puts i i += 1 if i == 2 break endend実行結果01さらに、while による無限ループをつくってみた。sleep 1 で 1秒の wait を行っている。while true puts "while test" sleep 1end実行結果while testwhile testwhile test . . .<< 目次
if文<< 目次定番のif文。"else if" の辺りが言語によって書き方が違ったりするのでよく間違えるので注意。ruby では、 "elsif" となる。a = 1b = 2if a == 2 puts "a = 2"elsif b == 2 puts "b = 2"else puts "not much."end実行結果b = 2よく間違える判定条件 "=" が後ろに来ることを心がける。a == ba >= ba <= b">=" を "=>" とか書くと syntax error になる。syntax error, unexpected '>'<< 目次
コメントアウト<< 目次一行コメントアウトは、他の言語でも使われております一般的な"#"を使います。"#" 以降が無視されます。複数行をコメントアウトする時は、=begin ~ =end を使います。puts "comment test start"=begin puts "この間は" puts "何を書いても無視されます。"=endputs "comment test end"実行結果comment test startcomment test end<< 目次
文字列連結<< 目次"+" でつなぐ。str1 = "mo"str2 = "ji" moji = str1 + str2p moji # => "moji""#{}" で埋め込む。str1 = "mo"str2 = "ji" moji = "#{str1}#{str2}"p moji # => "moji"<< 目次
クラス変数一覧表示<< 目次クラス変数を一覧表示する。class Test def initialize @var1 = 1 @var2 = 2 @var3 = 3 endendtest = Test.newp test.instance_variables実行結果["@var1", "@var3", "@var2"]<< 目次