1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ruby Silver 試験対策ポイントメモ

Last updated at Posted at 2024-10-16

Ruby Silver (正式名称:Ruby Association Certified Ruby Programmer Silver version 3) の試験に向けた勉強メモです。

Ruby Silver受験を考えている方の参考になれば幸いです🤗

試験の概要

  • 試験時間:90 分
  • 試験方法:コンピュータ試験(CBT:Computer Based Testing)
  • 問題数(方式):50 問(選択式)
  • 合格ライン:75 %
  • 対象バージョン:Ruby 3.1.x
  • 出題範囲
    • 文法
      • コメント
      • リテラル(数値、真偽値、文字列、文字、配列、ハッシュ等)
      • 変数/定数とスコープ
      • 演算子
      • 条件分岐
      • ループ
      • 例外処理
      • メソッド呼び出し
      • ブロック
      • メソッド定義
      • クラス定義
      • モジュール定義
      • キーワード引数
    • 組み込みライブラリ
      • よく使用されるクラス、モジュール(Object、数値クラス、String、Array、Hash、Kernel、Enumerable、Comparable等)
    • オブジェクト指向
      • ポリモルフィズム
      • 継承
      • mix-in
  • 料金:16,500円(税込)

詳細な試験情報はこちらを確認してください。
https://www.ruby.or.jp/ja/certification/examination/

! がつかない破壊的メソッド

  • concat: 文字列や配列を破壊的に結合
  • replace: 文字列や配列の内容を引数で与えられたものに置き換える
  • delete: 配列から指定した要素を破壊的に削除
  • delete_if: 条件に一致する要素を破壊的に削除
  • clear: 配列のすべての要素を破壊的に削除
  • pop: 配列の末尾の要素を破壊的に取り除く(LIFO: Last In First Out)
  • push: 配列の末尾に要素を破壊的に追加(LIFO: Last In First Out)
  • shift: 配列の先頭の要素を破壊的に取り除く(FIFO: First In First Out)
  • unshift: 配列の先頭に要素を破壊的に追加(FIFO: First In First Out)

別名メソッド

  • delete_ifreject!: 条件に一致する要素を削除(破壊的)
  • updatemerge!: ハッシュの内容を他のハッシュで更新(破壊的)
  • find_allselect: 条件に一致する要素を返す
  • collectmap: 各要素に対して処理を行い、新しい配列を作成
  • member?include?: 指定した要素が含まれているかを確認
  • finddetect: 条件に一致する最初の要素を返す
  • lengthsize: 配列やハッシュの要素数を返す

DirとFileのメソッド比較

DirFileクラスで、どっちのクラスにどのメソッドがあるか。

Dirにのみ存在

  • pwd: 現在の作業ディレクトリのパスを返す
  • home: ユーザーのホームディレクトリのパスを返す
  • rmdir: 指定されたディレクトリを削除する(空のディレクトリのみ)

Fileにのみ存在

  • directory?: 指定されたパスがディレクトリであるかを判定する
  • chmod: 指定したファイルのアクセス権限を変更する
  • chown: 指定されたファイルの所有者とグループを変更する
  • extname: 指定されたファイルの拡張子を返す

共通

  • delete:
    • Dir.deleteは空のディレクトリのみを削除でき、
    • File.deleteはファイルを削除する

ファイルのモード

File.openメソッドの第2引数に指定する、ファイルを開くモード。

  • r: 読み込みモード
  • w: 書き込みモード
    • 既存ファイルの場合はファイルの内容を空にする
  • a: 追記モード
    • 常にファイルの末尾に追加される
  • r+: 読み書きモード
    • ファイルの読み書き位置が先頭になる
  • w+: 読み書きモード
    • r+と同じだが、既存ファイルの場合はファイルの内容を空にする
  • a+: 読み書きモード
    • ファイルの読み込み位置は先頭に、書き込み位置は常に末尾になる

文字列を取り除くメソッド

  • strip: 文字列の先頭と末尾の空白文字(\t, \r, \n, \f, \v)を取り除く
  • strip!: 破壊的に文字列の先頭と末尾の空白文字を取り除く
  • chomp: 末尾の改行コードを取り除く
  • chop: 末尾の文字を1文字取り除く。末尾が \r\n であれば、両方を取り除く

strftimeメソッドで使用できるフォーマット文字列

Rubyのstrftimeメソッドは、日付や時刻のフォーマットに使用する文字列指定があります。
他の言語と違い、間違えやすいと感じた部分は以下です。

  • 小文字の%mが月(Month)、大文字の%Mが分(Minute)
  • %Iは12時間制の時刻、%Hは24時間制の時刻
  • 小文字の%hは存在しない

日付に関するフォーマット文字列

フォーマット 説明
%a 曜日の省略名(Sun, Mon, ...) "Sun"
%A 曜日のフルスペル "Sunday"
%b 月の省略名(Jan, Feb, ...) "Jan"
%B 月のフルスペル "January"
%d 日(01-31) "05"
%e 日(先頭のゼロを含まない) "5"
%j 1年の通算日(001-366) "123"
%m 月(01-12) "09"
%U 年の週番号(週の始まりが日曜日の場合) "42"
%W 年の週番号(週の始まりが月曜日の場合) "42"
%w 曜日(0=日曜日, 1=月曜日, ...) "0"
%x 日付(ロケールに依存) "09/28/23"
%D 日付(%m/%d/%y と同じ) "09/28/23"
%y 西暦の下2桁(00-99) "23"
%Y 西暦の4桁(0000-9999) "2023"

時間に関するフォーマット文字列

フォーマット 説明
%H 24時間制の時(00-23) "14"
%I 12時間制の時(01-12) "02"
%M 分(00-59) "45"
%S 秒(00-59) "09"
%p 午前/午後(AM/PM) "PM"
%Z タイムゾーン名 "UTC"
%z タイムゾーンのオフセット "+0900"
%X 時刻(ロケールに依存) "14:45:09"
%r 12時間制の時刻(%I:%M:%S %p) "02:45 PM"
%T 時刻(%H:%M:%S) "14:45:09"

その他のフォーマット文字列

フォーマット 説明
%c 日時(ロケールに依存) "Sun Sep 28 14:45:09 2023"
%% パーセントリテラル(% を出力) "%"

ヒアドキュメント

  • <<識別子: 変数展開あり、改行含む
  • <<'識別子': 変数展開なし、改行含む
  • <<-識別子: 変数展開あり、終了識別子のインデント許可、改行含む
  • <<~識別子: 変数展開あり、インデント除去、改行含む

無事に合格しました

無事に82点で合格出来ました🥳

参考

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?