気軽に楽しくプログラムと遊ぶ

自分が興味があってためになるかもって思う情報を提供しています。

Ruby資格取得

Ruby Gold合格できました。感想と振り返り

感想 86点で合格。難しいとの前評判でかなり覚悟してましたが、 Silverのように知っていればさくっと解ける数行しかない問題も多かったので、助かりました。 Silverと比べるとAPIを問うような問題は少なく、数学のように論理で説いていけるような問題が多か…

Ruby Marshalモジュールの概要をつかむ

Marshalモジュールの特徴 Rubyオブジェクトを文字列化して、ファイルに書きだしたり、読みだしたりできる。 文字列化したデータをマーシャルデータと呼ぶ。 文字列化できないクラスや書き出すオブジェクトに制限あり。 文字列化できない場合、TypeErrorが発…

Ruby Goldで問われる押さえておきたい仕様3

定数のスコープ 再定義可能な演算子を再定義してみる YAML 配列 ハッシュ YAMLファイルの読み込み ブロックにおけるreturn,break,next ブロック内での動作 動作確認 Case式 トップレベル 概要 少数の加算時の誤差 Classクラスからクラスを定義する 変数、メ…

Ruby Goldで問われる押さえておきたい仕様1

Ruby Goldの出題範囲として認知があまりされていないが重要な部分を以下にまとめる。 Module#append_features Module#included Module#module_function(モジュール関数) 定義方法1(module_function引数あり) 定義方法2(module_function引数なし) module_func…

Ruby Gold 出題内容に関して参考になるWebページ

Ruby Gold受験された方の試験振り返り内容より、出題傾向を確認できる。 下記内容の知識が理解されているかを確認し、知識の抜け漏れをチェックする。 qiita.com qiita.com togetter.com henteco-labs.com

Ruby Comparableモジュールの概要をつかむ

Comparableモジュールとは 比較演算を行うクラスのためのモジュール <=>演算子を定義している必要がある <、<=、>、>=の各演算子(メソッド)を提供する Bignum,String,Timeクラスなどの<、<=、>、>=は、Comparableのメソッド。 比較結果値の返却方法 obj < …

Ruby Enumerableモジュール

Enumerableモジュールとは? map,collectメソッド each_with_indexメソッド injectメソッド 一般的な書き方 ブロックなしの書き方 group_byメソッド zipメソッド Enumerableモジュールとは? Arrayクラス、Hashクラスなどにインクルードされているモジュール…

Ruby Objectクラスをざっくり理解する

Objectクラスとは すべてのクラスのスーパークラス Kernelモジュールをインクールド。すべてのオブジェクトでKernelモジュールメソッドが使用可能 オブジェクトのID オブジェクトに割り当てられている重複しない整数を取得する。 a = "foo" a.object_id => 7…

RubyのTimeクラスの基本的な扱い方

Timeオブジェクトの生成 p Time.new #=> 2014-05-09 12:01:33 +0900 # 現在日時のTimeオブジェクトを生成する p Time.now #=> 2014-05-09 12:01:33 +0900 # newと同様 p Time.local(1999,12,31,23,59,59) #=> 1999-12-31 23:59:59 +0900 # 指定の日時で生成…

Ruby Gold 試験範囲を一気に見直す

いままで試験対策用にまとめた内容記事をまとめます。 Gold受験前に一気に試験範囲を見直します。 Ruby 公式資格教科書の問題を見直す 組み込みライブラリ メタプログラミング Ruby 2.1 Ruby Gold受けた人たちの復習ブログで知識を補う Ruby Silverの範囲の…

Ruby ヒアドキュメント 改行あり複数行の文字列を作成

<<"識別子" 1行目 2行目 ... 最終行 識別子 <<"識別子"」の次の行から「識別子」の前の行末までが作成される文字列 例は以下 <<"EOS" こんにちは お元気ですか ではさようなら EOS 終端識別子の前にはスペース挿入不可。 階層が深い場合でもスペースを入れず…

Ruby Goldで問われる押さえておきたい仕様2

protectedとprivateメソッドの可視性 基本的なルールは以下 protected レシーバーなしで参照可能 レシーバー(自分またはサブクラス)から参照可能 自クラス、サブクラスから参照可能 クラス外部からは参照できない private レシーバーなしで参照可能 レシーバ…

Ruby Threadクラスの基本

スレッドの作成、終了、停止、例外発生時のスレッドの挙動について確認していきます。 プログラム開始時に生成されるスレッドをメインスレッドと呼ぶ。メインスレッドで 動かすスレッドについて以下より見ていきます。 スレッドの作成 Thread::new、Thread::…

Ruby Gold対策(文法)

文法の試験範囲 (Gold試験出題数 15/50 約30% ) 試験で問われるポイントについて整理していきます。 ブロック do〜end、{}の違い(結合度のお話) do〜end、{}の使い分け(要約) do〜end、{}の使い分け(詳細) 例外処理 rescueにおける引数省略時のエラー捕捉 例…

Ruby Gold対策(実行環境)

組み込み定数 主なコマンドラインオプション 冗長モード warn requireとload requireとloadとの違い 指定されたファイルを探すルール(相対パス指定の場合) 組み込み定数 ruby標準で用意されている定数 組み込み定数 値 STDIN 標準入力 STDOUT 標準出力 STDER…

Ruby Gold対策(添付ライブラリ)

Ruby公式教科書の模擬問題に出題された箇所について情報をまとめてみる。 数学関連 StringIO Threadクラス 日時関連 Object#freeze RDocコメントのマークアップ 読み込み対象行 ドキュメントの生成 マークアップの書き方 数学関連 Rationalクラス 有理数を扱…

Ruby Gold対策(オブジェクト指向、標準添付ライブラリ)

Ruby公式資格教科書の基礎力確認問題で学習した事項を以下に記載する。 定数 可変長引数、配列の展開 可変長引数メソッドの呼び出し方と内部での参照方法 可変長引数を引き回し方 通常引数と可変長引数を引数に取る 省略可能な引数(オプション引数) 引数にデ…

ruby メソッド探索を確認する

下記の問題を解いてみました。 http://asura23.blog.fc2.com/blog-entry-63.html インスタンスメソッド探索経路 module M def method_missing(id, *arg) puts "M#method_missing()" end end class A include M # A.メソッド 時にメソッドが定義されていな場…

Ruby Gold取得に近づくために1.8 → 2.1 の変更点を理解する

Ruby 技術者認定試験制度の改訂によりRubyバージョンが1.8から2.1へ変更となった。 変更点について確認して行きます。 ハッシュリテラル 〜: 値の書き方が変更点。もう結構お馴染みの書き方ですね。 最初は何だこれは??と思いましたが。。 **〜はオブショ…

Ruby Gold取得に向けてメタプログラミング読んだ後に知識の抜け漏れを確認する

メタプログラミングを読み終えたので、これから知識の抜け漏れを補って行きます。 下記のブログで試している事を確認して行きます。 やったーRuby技術者認定Gold受かったよー\(^o^)/ - 【旧】PerlerのRuby日記->はてなブログに移行しました Ruby技術者認定…

メタプログラミング Ruby 第5章 コードを記述するコード

コードを記述するコード。一般的に言われているメタプログラミングの概念。 メタプログラミングの総集編の章。動的メソッド、カーネルメソッドなどの復習をしつつ、 フックメソッドなどの新しいトリックを理解していきます。 メタプログラミングRubyposted w…

メタプログラミング Ruby 第4章 クラス定義

メタプログラミングRubyposted with ヨメレバPaolo Perrotta KADOKAWA/アスキー・メディアワークス 2010-08-28 クラスが返却する値 クラスもメソッドのように最後に評価した値を返却する class MyClass puts "Hello" end Hello 指定クラスにメソッドを追加 …

メタプログラミング Ruby 第3章 ブロック

関数型言語よりの概念であるブロックについて、理解を深めて行く。 メタプログラミングRubyposted with ヨメレバPaolo Perrotta KADOKAWA/アスキー・メディアワークス 2010-08-28 ブロックの基本をおさらい ブロックをメソッド内部で活用する yieldでブロッ…

メタプログラミング Ruby 第2章 メソッド

メタプログラミングRubyposted with ヨメレバPaolo Perrotta KADOKAWA/アスキー・メディアワークス 2010-08-28 動的メソッド メソッド名、引数値を指定して、メソッドを呼び出す。 これで重複コードをリファクタしたりする。 class MyClass def my_method(my…

メタプログラミング Ruby 第1章 オブジェクトモデル

rubyのclass、moduleの違い。クラスオブジェクトとインスタンスオブジェクトについてなど わかっていそうでわかっていない点をメタプログラミングの本を用いて理解していく。 メタプログラミングRubyposted with ヨメレバPaolo Perrotta KADOKAWA/アスキー・…

Ruby Moduleクラスの各種メソッドを動作確認する

Moduleクラスとは ある機能をひとまとまりにしたモジュールのためのクラス クラスのクラスであるClassクラスはModuleクラスを継承しているため、全クラス内で有用なメソッドを利用可 モジュールはincludeメソッドを用いて、任意のクラスにインクルード可能 …

Procクラスをirbで確かめる

手続きオブジェクト(ブロックをオブジェクト化) 手続きオブジェクト(引数を取る) ブロック付きメソッドへ手続きオブジェクトを渡して処理する Proc.newとlambdaの違い 手続きオブジェクト内での引数の数 手続きオブジェクト内での中断 手続きオブジェクト(ブ…

Regexpクラスをirbで確かめる

オブジェクトを生成(正規表現リテラル) * a = /abcd/i => /abcd/i > a.class => Regexp 正規表現リテラル /xxx/の末尾にはオプションを付けることが可能。複数でも可 オプションは下記 i : 大文字、小文字を無視する m:正規表現の「.」で改行マッチさせる x:…

Ruby Gold勉強方法のまとめのまとめ

Ruby Silver合格できたので、Goldの勉強方針をまとめてみます。 1.勉強内容(概要) 1.1 優先度(高) Ruby公式資格教科書 メタプログラミング 1.2 優先度(中) 1.3 優先度(低) 2.勉強の心構え 3.勉強内容(詳細) 3.1 Ruby公式資格教科書 2章 実行環境 2,3問ぐらい…

Ruby Silver試験前に見直すと幸せになれるメモ

silverにおいて勉強した内容をまとめておく。 主な特殊変数 組み込み定数 組み込み変数 rubyのローカル変数のスコープ インスタンス変数 rubyのクラス変数のスコープ 条件分岐 例外 オブジェクト指向 演算子 上書きできない演算子 優先順位 配列 演算子(含ま…