fv17の日記

Webエンジニアの備忘用ブログです。主にWeb界隈の技術に関して書いています。

Ruby

【Ruby】文字列において、同一文字が連続しているかどうかを判定する

やりたいこと 文字列において、同一文字が連続しているかを判定する 例えば、 '123abbbc' は 'b' が3文字連続していることを判定したい 利用場面 パスワードのvalid判定などにおいて、「同一文字が連続していないこと」をチェックしたい場合など やり方 正規…

Ruby + Capybaraでクローラーを作成する

下記の記事の後半が該当qiita.com

Rails、Ruby - case文を正規表現で分岐させた後にマッチ部分を使う

表題の件をやろうとすると冗長なコードしか書けなかった。 先人がいたため参考にするも、今回は可読性を考慮して冗長なままにする。qiita.com

Ruby - なぜmapとかcollectとか、エイリアスが沢山あるのか?

ズバリの記事を発見map と collect、reduce と inject ―― 名前の違いに見る発想の違いRubyで「なぜこうなっているのか?」は多くの場合、Lisp、SmallTalk、あとPerl起源が多い気がする。 逆にJavaは世に出た時期がほぼ同じで影響を受けてないから、全然違う…

Ruby、Railsで日付を扱う

下記参照qiita.com

Ruby - Refinementsとは

書籍「メタプログラミング Ruby」の写経兼復習用。Refinementsとは、Rubyにおけるオープンクラスのスコープを特定の範囲に限定するもの。具体的に見ていくと、下記のようなオープンクラスを用いた場合、その影響範囲はアプリケーション全体となり、予期せぬ…

Rubyにおけるprivateの仕様が他言語と違う理由

「メタプログラミングRuby」に「privateの本当の意味」というコラムがあるのだが、そもそもJavaなどの言語と仕様が違う理由は何か?、なぜJavaのようなシンプルな設計となっていないのか?、設計思想は?、と気になったので調べてみた。 ズバリの記事があっ…

Ruby - if文を一行にまとめる技

ある値がnilかどうかでif文を分岐させる場合、引数で || 記法が使えないかを検討する if文で分岐させる書き方 def redirect_back_to(default) if session[:forwarding_url].nil? redirect_to default else redirect_to session[:forwarding_url] session.del…

Ruby - 場所によって変わるselfの意味

参照:チェリー本 Class直下におけるself クラス クラスメソッドにおけるself クラス インスタンスメソッドにおけるself インスタンス

Rubyの文字列結合において、 + ではなく 式展開#{} を使うべき理由

下記の記事で紹介されています。 techracho.bpsinc.jp

Rubyのコーディング規約一覧

クックパッド https://github.com/cookpad/styleguide/blob/master/ruby.ja.md Airbnb https://github.com/airbnb/ruby Rubocop(Ruby Style Guide) 英語 https://github.com/rubocop-hq/ruby-style-guide 日本語 github.com 見てて思ったこと Airbnbのコーデ…

RubyとRails関連のドキュメント一覧

Ruby るりまサーチhttps://docs.ruby-lang.org/ja/search/ Rails APIドキュメントhttps://api.rubyonrails.org/

Rubyのsub, gsubは何の略か?

気になって仕方がないので調べてみました。 挙動の確認 string = "One tomato, two tomato, three tomato." string.sub('tomato','banana') # => "One banana, two tomato, three tomato." string.gsub('tomato','banana') # => "One banana, two banana, th…