nadegiri.app

iOSアプリ開発戦記(改装中)

*

Ruby技術者試験(Silver)自分用まとめ

      2014/07/23

公式サイト掲載の出題範囲を元に、出題予想問題の間違いやすいところのまとめ。
【実行環境】
   * 実行方法
   * コマンドラインオプション
  → ARGV[0]とか、コマンドライン引数の拾い方。
   * 環境変数
   * irb
【文法】
   * コメント
   * リテラル
  → ヒアドキュメント。
    「-」の 有無で、終了キーワードのインデント可否を問う。
  → ””と’’の違い。
    「”#hoge”」は式展開され、直前の変数hogeの値が文字列出力される。
    あと、「”hoge” ‘hoge’」のように空白挟んでも一文字列となる。
    0で始まるのは8進数。
    ’hoge’を%q!hoge!と指定できる。!を’として扱うという意味。
    ?nだとnの文字コードが出力される。
             指数表現について、3e-2 は 3.0*10-2乗を表す。
  → 正規表現
    最低これだけ以下だけ覚えておく。
    []は中に列挙した、いずれかの文字にマッチする。
    [^]がついた場合、括弧内に列挙されていない文字にマッチする。  
    Aは文字列の先頭を指定する。
    Zは文字列の末尾を指定する。
    Sは空白以外。
    String#scan
   * 変数/定数とスコープ
  → (ローカル変数)頭文字が英字小文字か_、二文字目以降が英数字。
  → 問題「偽になるものを選べ」・・・nil、false
  → 問題「コード例外が発生しないものを選べ」
    スコープに注意。以下パターン参考。
    a) 変数が参照できずNameError例外が発生する
    b) 代入は実行されないが、宣言のみ有効となり、変数の中身はnil
    c) ブロック外の宣言、ブロック内で代入は可能
    d) 宣言されていない変数の自己代入は不可
    e) ブロック内で宣言した変数はそのブロック内のみ有効
   * 演算子
  → 再定義できないのは、=、?:、..、…、&&、and、||、orなど。
    私見だけど、基礎的な構文(C言語とかにもあるような)は再定義不可か。
    Arrayだと+、[]、<=>とかは再定義できる。
   * 条件分岐
   * ループ
   * 例外処理
  → begin/rescue/ensure
   * メソッド呼び出し
   * ブロック
   * メソッド定義
   * クラス定義
   * モジュール定義
【組み込みライブラリ】
   * 組み込み関数
   * 組み込みクラス
  → eqlとequalの差。
    eqlが値比較でequalはアドレス比較。
  → hashとarrayのメソッド。
    似てるの多いけどindex使う関数なんかはhashにはないので注意。
  → Arrayクラス頻出メソッド。
    map/collect
    &
    concat
    compact
    find/detect
    inject
    delete
    reject
    -
    |
    +
    slice
    join
    sort (<=>(大小比較)の定義が必要)
  → Hashクラス頻出メソッド
    length
    invert
    delete_if
    clear
    invert
  → Stringクラス頻出メソッド
    index
    delete(範囲指定)
    split
    chomp
    chop
    -はないので注意
  → Fileクラス頻出メソッド
    dirname
    open(引数)
    seek
    join
  → Dirクラス頻出メソッド
    glob 
  → IOクラス頻出メソッド
    seek
  → Timeクラス頻出メソッド
    strftime(書式指定文字列)
    %Y年(4桁)と%y(年2桁)
    %m月
    %M分

【オブジェクト指向】
   * ポリモルフィズム
   * 継承
  → class huge < object ; end
 * mix-in
  → includeメソッドで複数のモジュールをクラスに取り込むことができる
  → extendメソッドで特定のオブジェクトにモジュールを取り込むことができる

こんなもんかな?
とりあえず以上。

 - Ruby, Ruby技術者認定試験

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

  関連記事

no image
秒数指定でビューを表示する方法

タイトルどおり。画面上に1秒だけ表示するには? 最初は「setNeedDispl …

no image
ネットワーク状態取得ライブラリ「Reachability」

ネットワーク接続状態取得用ライブラリ。 https://developer.ap …

no image
UIVIewに枠線を設定

よくやる設定メモ。 あとで角丸にする方法もメモっとこう。 //枠線の色設定[vi …

no image
modalviewの表示時アニメーションの設定

全部で4パターン。 参考。動画付きで凄くわかりやすい。モーダルビュー表示時のアニ …

no image
AVCaptureSessionPresetInputPriorityの機能について

AVCaptureSessionのsessionPreset設定値の一覧で意味の …

no image
iFrameってなんですか?

昨日の記事でsessionPreset値を調べてたんで、AVCaptureSes …

no image
AVCaptureDeviceのactiveFormatについて

前回AVCaptureSessionPresetInputPriorityを調べ …

no image
モーダルでの画面遷移方法

-(IBAction)showSettingView{  & …

リジェクトアプリ供養「2chBuzz」(2chまとめブログリーダー)

一年前に作ったものの、審査でリジェクト食らいまくってお蔵入り。勿体無いので戦績と …

半角カタカナ

【Description】  入力した全角ひらがな、及び全角カタカナを半角カタカ …