Ruby技術者認定試験 Silver 合格への7日間勉強 ~3日目~

シェアする

Ruby Association Certified Ruby Programmer Silver version 2.1
資格獲得に向けて、Silverの試験範囲をまとめていきます。

全7日+付録の構成で公開していきます。

rubyのコードと実行結果を載せていますが、rubyのバージョンは2.1です。

コード書くことが多くなってきたので、Crayon Syntax Highlighter使っていきます。

さぁ、3日目スタートです。

1.数値(Numeric)クラス

Numericクラスは抽象クラス。サブクラスにIntegerクラスとFloatクラスがある。

さらに、Integerクラスは、FixnumクラスとBignumクラスに分かれる。

2.文字列(String)クラス

さぁ、これから覚えることが多くなってきますよ。

試験によく出る範囲に突入します。

2.1 ヒアドキュメント

「<<識別子」を含む次の行から識別子だけの行の直前までを文字列とする。終了を示す識別子の行は識別子以外は何も書いてはいけない。コメントもNG。

ただし、開始を示す識別子の前に「-」を入れた場合は、終了識別子をインデントできる。

識別子をシングルクォートで囲むとバックスラッシュ記法や式展開がされません。

2.2 文字列の取得、置換、検索

文字列の先端インデックスは0です。末尾が-1となります。

[インデックス位置, 切り出す文字数]を指定することで、対象文字列を取得できます。

subは、最初に一致した文字のみを置換します。

gsubは、一致した文字全てを置換します。

sub,gsubの後に、p str でstrの中身をわざと出力しています。

これはRubyでよくでてくる、メソッドが破壊的か非破壊的かを問われるためです。

sub,gsubどちらを実行しても、strの中身は変わっていませんから、subとgsubは非破壊的メソッドと言えます。

2.3 文字の削除

破壊的、非破壊的でよく問われるメソッドです。

delete、chop、chompを見ていきましょう。

まずは、deleteから。

deleteは破壊的ではなく、非破壊的であることが分かりますね。

delete!が、破壊的メソッドです。

deleteの引数が2以上となる場合は、AND条件となります。11行目はどちらも”a”を指定していますが、「数字かつアルファベットの小文字」を削除したいときなんかに使うとよいでしょう。

次に、chopとchompです。chopとchompは非破壊的メソッドです。

※chomp(“”)は「パラグラフモード」となり、末尾の連続する改行コードを全て削除します。
※chomp(nil)は、何も処理されません。

続いて、破壊的メソッドのchop!とchomp!です。

結果が異なるのは、chomp!で削除する改行コードがない場合です。
chompは、そのままの値が返されますが、chomp!の場合はnilが返ってきます。

2.4 文字列から配列を生成

文字列を分割して配列を生成、配列から文字列を生成するメソッドを見ていきます。

文字列から配列は、splitメソッド。配列から文字列は、joinメソッドを使用します。

csvを処理する場合に便利なメソッドです。

splitの第2引数を指定すると、その数の配列要素が生成されます。

split(“”)とsplit(//)は、1文字ずつの配列要素が生成されます。

2.5 その他メソッド

以上で、3日目は終了です。

お疲れ様でした。

 4日目公開しました!! 

Ruby技術者認定試験 Silver 合格への7日間勉強 ~4日目~
Rubyの配列(Array)クラスについて説明しています。試験によく出る範囲です。
スポンサーリンク
PC用広告

フォローする

スポンサーリンク
PC用広告