茶漬けの技術メモ

Golang, Rubyで趣味開発します。テックニュース書いたり。ガジェット触ったり。

Ruby

Rubyで日付・時刻の範囲検索

指定の時間範囲内の記録を読み出したい場合 (例えば今日中で登録したユーザーを探したい) よくある書き方 User.where(“updated_at BETWEEN ? AND ?”, beginning_of_day, end_of_day)

Ruby の文字列型と日付型の変換方法

文字列型から日付型への変換 Dateのstrptimeメソッドを使う方法 Date.strptime('2017-09-03', '%Y-%m-%d') => Sun, 03 Sep 2017 年が西暦の下二桁の場合 Date.strptime('17-09-03', '%y-%m-%d') => Sun, 03 Sep 2017 Yを小文字にする必要があります。 to_date…

Ruby のキーワード引数とは

Ruby のキーワード引数について、 キーワード引数とは Ruby2.0から導入された 引数のデフォルト値を設定できる 引数を渡す順番を気にしなくてよい などの特徴があります では簡単な例を デフォルトとは違う値を入れた場合 def test(a, b:2, c:3) p a + b + c…

Ruby の define_method メソッドで動的にメソッドを定義できる!?

Ruby の define_method で動的にメソッドを定義できるのです。 define_method を使ったことがない人からすれば、 は? だと思うので、例をば

Ruby のメソッドオブジェクトとは?

メソッドオブジェクトって、あれなんだっけ? となったのでメモっておきます。 一言で言えばメソッドオブジェクトとは、 メソッドをオブジェクトのように扱えるようにしたものです。 そのまんますぎ、 なので、 ちょっと例を書いてみます。

Ruby のカリー化

カリー化とは 調べてみると、 カリー化 (currying, カリー化された=curried) とは、複数の引数をとる関数を、引数が「もとの関数の最初の引数」で戻り値が「もとの関数の残りの引数を取り結果を返す関数」であるような関数にすること(あるいはその関数のこ…

Ruby の each_with_object と inject について

each_with_object とは each_with_object を使用すると、配列やハッシュの要素を使って、 新たに配列やハッシュを作成したりする際に、簡潔に書くことができます。 簡単な例を以下に示します array = [[:hoge, 1], [:fuga, 2], [:piyo, 3]] array.each_with_…