ウェブエンジニア珍道中

日々の技術的に関する経験を書いていきます、脱線もします。

Ruby

rubyでサンプルデータを作る時に便利だったArray#sampleの覚書

Rubyで開発中、サンプルデータ等を用意する時に役立つメソッドがあったのでメモします。 Arrayクラスのインスタンスメソッドであるsampleメソッドというもので、「配列の中からランダムに返す」という機能です。 [1,2,3].sample => 3 # 毎回変わる 真偽値を…

Rubyのcoerceメソッドについて

Rubyの勉強していたらNumeric#coerceメソッドというものを見つけたのでメモ 機能 全ての数値オブジェクトに対して使えるメソッドで、引数で与えられた数を自分と同じクラスにして自分とセットで配列で返すものだそうです。 hoge = 1.6 hoge.coerce(5) => [5.…

改めてRubyの整数と浮動小数点数についてまとめた

はじめに 基礎からRubyの勉強をし直そうということでプログラミング言語 Rubyをガッツリ読み直していると、普段何気なく使ってる数値も深く書かれているので少しまとめます。 数値について 全ての数値オブジェクトは Numericクラスのインスタンス。整数であ…

Docker for MacでRubyの検証用環境をサクッと作る

はじめに Rubyの勉強を家でしている時に「これ実際に動かさないとわからんな」ということが度々あります。 Macだと homebrewや rbenvを使って環境構築をする場合が多いですが、今回はMacに直接インストールしたくないと思いDocker for Macで作りました。 敷…

RubyでURLをaタグに書き換える処理を書いた

DBから取ってきた文字列を表示する際に、URLが混ざっていた場合aタグに置き換えて表示する必要があったためその処理を書きました。 コードはこんな感じです。 require 'uri' def convert_url_into_a_tag(text) text.gsub(URI.regexp(['http', 'https'])) do …

今更ながらirbからpryにして色を付けた話

経緯 僕はRailsを使って開発をしているのですが、「なんで rails consoleでは綺麗に色分けされて表示されるのに、 irbではずっと白黒なんだろう」と思ってました。 よくよく見るとうちのプロジェクトで rails console時に動いているのって pry-railsってgem…

Rubyのセッターメソッドとレシーバとselfの話

Rubyでクラスを作って色々処理を書いていると、セッターメソッド周りで意図しない挙動をしたりRubocop(静的コード解析ツール)に「冗長なselfつけんじゃねーよ」と怒られたりしたのでまとめます。 問題 問題のコードはこちらです、ギターをクラス化してみま…

Rubyでプライベートクラスメソッドを定義する方法

Rubyでクラスの外から呼べないプライベートなクラスメソッドを書く時にちょっとクセがあったのでご紹介します。 方法 こんな感じに書くと宣言できます。パブリックメソッドの hogeから プライベートメソッドの fugaを呼び出してます。 class Hoge def self.h…

Rubyでprivateメソッドを無理やり呼び出す方法があった件

割と衝撃的だったのでメモ 方法 Object#sendメソッドを使います。 sample class Hoge private def test_method puts "hoge" end end hoge = Hoge.new hoge.test_method # エラー hoge.send(:test_method) # 動く 用途 これを普通に使ってるとプロジェクトが…