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_if
とreject!
: 条件に一致する要素を削除(破壊的) -
update
とmerge!
: ハッシュの内容を他のハッシュで更新(破壊的) -
find_all
とselect
: 条件に一致する要素を返す -
collect
とmap
: 各要素に対して処理を行い、新しい配列を作成 -
member?
とinclude?
: 指定した要素が含まれているかを確認 -
find
とdetect
: 条件に一致する最初の要素を返す -
length
とsize
: 配列やハッシュの要素数を返す
DirとFileのメソッド比較
Dir
とFile
クラスで、どっちのクラスにどのメソッドがあるか。
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点で合格出来ました🥳