2022-03-01から1ヶ月間の記事一覧

アルペンスキー:ひるがのレーシング振り返り

レッスン受けてきたので、今日の学びを振り返っっておく。 レッスン概要 項目 内容 場所 ひるがの高原スキー場 レーシング名 井上春樹レーシングアカデミー 時間 9:30~11:30(8:00~8:30受付)※午後の部は13:00~15:00 リフト代 4000円(別途ICチップ補償金500円…

チェリー本:パターンマッチ

パターンマッチの基本 パターンマッチの利用パターン valueパターン variableパターン arrayパターン hashパターン asパターン alternativeパターン findパターン パターンマッチの基本 rubyのパターンマッチの大きな特徴は下記の3つ。 配列やハッシュの構…

チェリー本:例外処理の概要

例外処理の書き方 意図的に例外を発生させる方法 例外処理のベストプラクティス 例外処理の書き方 begin # 例外が起きうる処理 rescue # 例外が発生した場合の処理 retry # 処理をやり直す場合に記述する。 # begin説の頭からリトライする。通常リトライ回数…

チェリー本:モジュールの理解

モジュールとクラスの違い モジュールの使いどころ モジュールの定義 モジュールを利用したメソッド定義(include,extend) 名前空間の作成 関数や定数を提供するモジュール 状態を保持するモジュール モジュールとクラスの違い モジュールからインスタンス…

チェリー本:色々な変数

ここまでにローカル変数やインスタンス変数などには触れてきたが、Rubyには色んな種類の変数がある。紹介されていた変数を下記にまとめる。 変数名 定義方法 ポイント グローバル変数 $付き変数 プログラムのどこからでも参照、代入可能正規表現で用いる$1な…

チェリー本:メソッドの可視性

他の言語とかでも可視性の話はあるけれど、Rubyでの特徴は下記ということらしい。 publicの場合は当該インスタンスのものは、どこからでも呼び出しできる。public以外のものは、クラス内もしくはサブクラス内からしか呼出できない。 protectedとprivateの違…

チェリー本:インスタンスメソッドとクラスメソッド

クラス内で特に意識せずにメソッドを定義すると、それはインスタンスメソッドになる。インスタンスメソッドは各インスタンスに含まれるデータを読み書きするような場合に定義する。 一方、クラスに関係は深いが、各インスタンスのデータを使わないメソッドを…

チェリー本:アクセスメソッドの省略

インスタンス変数を読み出したり書き込んだりするメソッドを暗黙的に定義してくれる方法がRubyでは用意されている。下記のようにattr_accessorメソッド、attr_readerメソッド、attr_writerメソッドを用いる。 下記のように各アクセスレベルに応じて、アクセ…

後置ifの使いどころ

単純に見栄えくらいしか変わらんと思っていた後置ifと後置unlessは、ちゃんと使いどころがある。 下のコードの場合、Xであるか、そうでないかの2パターンしか存在しない。そうした場合、その条件を網羅していることを視覚的に伝えるためには、三項演算子とif…

チェリー本:組み込みライブラリと標準ライブラリとgemの違い

いずれもプログラムでライブラリとして利用できるものだけど、使うまでの準備が少し違うというイメージ。 まず、包含で示すと下記のようになる。 また、ライブラリ読み込み、事前インストールの観点では、それぞれ下記のような違いがある。 項目 ライブラリ…

チェリー本:requireでは相対パスでライブラリを指定しない

requireとrequire_relativeで自作のプログラムをライブラリとして読み込ませる際に、相対パスで指定できるが、requireの方は相対パスでの指定は推奨されない。今回はその理由についてまとめる。 項目 相対パスの起点 機能 require カレントディレクトリ カレ…