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

シェアする

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

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

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

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

1.演算子

よく使われる演算子として、算術演算子、比較演算子、論理演算子、範囲演算子、条件演算子、集合演算子があります。各演算子のポイントを見ていきましょう。

1.1 算術演算子

算術演算子とは、数値計算に使われる演算子で、下記6種類あります。

+(加算)、-(減算)、*(乗算)、/(除算)、%(剰余)、**(べき乗)

ただの計算は省くとして、ここでは数値計算の注意点と数値だけでなく文字列にも使えるということを説明しておきます。

上記のとおり、整数同士の計算結果は整数となり、いずれかが浮動小数点の場合は、計算結果は浮動小数点となる。ということです。

上記のとおり、文字列にも適用可能です。

当然ながら、+と*しか使えません。

1.2 比較演算子

<、>、<=、>=、==(同値)、!=(否定)、<=>(大小比較 大:1、同値:0、小:-1)

これは説明はいいでしょう。実行結果だけ載せておきます。

1.3 論理演算子

!(否定)、&&(論理積)、||(論理和)、not(否定)、and(論理積)、or(論理和)

比較演算子同様に条件分岐で使用します。試験では、true/falseを問われる問題です。

&& = and , || = or なので、andとorは載せておりません。

&&でtrueになるときは、true同士の場合だけ。

|| でfalseになるときは、false同士の場合だけ。

1.4 範囲演算子

..(境界含む)、…(境界含まない)

これもよくでる問題です。境界値を含むか含まないかなので簡単ですね。

1.5 条件演算子

構文は、「条件式 ? 条件が真のとき : 条件が偽のとき」です。

1.6 集合演算子

&は、左辺と右辺の共通部分の要素となる。

|は、左辺と右辺どちらかにある要素となる。

+は、左辺と右辺を合わせた要素となる。

ーは、左辺から右辺にある要素を引いた要素となる。

1.7 再定義できない演算子

各演算子はオーバーライドが可能ですが、以下に示す演算子に限ってはオーバーライドすることができません。オーバーライドとは、極端な例でいうと、*(乗算)を**(べき乗)で処理するように再定義を行うことです。

:: ! && || .. … ?:(条件演算子) = not and or

2.条件分岐

if文、unless文、case文がありますが、難しくないので構文を覚えておけばいいでしょう。

2.1 if文

2.2 unless文

unless文では、elsifは使用できません。偽か真かのみです。

2.3 case文

3.繰り返し

ループ処理ともいいます。while文、for文は他の言語にもありますが、イテレータと呼ばれるものがRubyの特徴です。while文とfor文については、ループ制御のbreak、next、redoを交えたコードと実行結果を載せておきます。

3.1 while文

breakは、ループから抜けるときに使用する。

redoは、繰り返し処理のやり直し。

3.2 for文

nextは、繰り返しの次の回に制御を移す。

3.3 イテレータ

イテレータとは繰り返し機能を提供するもので、数値のtimesメソッド、配列のeachメソッド、ハッシュのeachメソッドがイテレータです。

timesは簡単ですが、eachを使った問題がよく問われます。

イテレータを使用するときは、{・・・} か do ・・・end で囲みます。

3.3.1 timesメソッド

0から始まるので、0から11回、すなわち0~10までの加算処理です。

3.3.2 配列のeachメソッド

配列もハッシュ同様にfor文で書き直すことができます。

3.3.3 ハッシュのeachメソッド

ハッシュも配列と同様ですね。

4.例外処理

例外処理とは、正常動作と異常動作を分けて記述し、異常動作が発生した場合に適切な処理を実行するようにするための処理です。

構文と例外クラスの階層を記載しておきます。

Silverはこれぐらいの知識で大丈夫です。

4.1 構文

4.2 例外クラスの階層

SyntaxError      : 文法エラー

SignalException : 捕捉していないシグナル

ArgumentError  : 引数不一致、値が不正

RuntimeError  : 特定の例外クラスに該当しないエラー

NameError         : 未定義変数や定数を参照

NomethodError  : 未定義メソッド

ZeroDivisionError : 0で除算

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

お疲れ様でした。

 3日目公開しました!! 

Ruby技術者認定試験 Silver 合格への7日間勉強 ~3日目~
Rubyの数値(Numeric)クラス、文字列(String)クラスについて説明しています。試験によく出る範囲です。

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

フォローする

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