Tatehitoの日記

いろいろ書きます。仕事はWebエンジニアです。

Ruby

【Ruby】配列の奇数番目と偶数番目の要素を分ける方法

ary = ["A", "B", "C", "D", "E"] ary.each_slice(2).map { |a, b| [a, b] }.transpose # => [ [ "A", "C", "E" ], [ "B", "D", nil ] ] each_sliceとtransposeを使って、奇数番目の要素と偶数番目の要素を分ける。 ary.each_slice(2).map.to_a.transpose 本…

【RubyGems】エラー画面が見やすくなるgem『better_errors』を試してみた

Railsのエラー画面をリッチにするgem『better_errors』を使ってみたので、導入方法を紹介します。 こんな感じでリッチになる。 使用バージョン Ruby 2.6.3 Rails 6.0.0 better_errors 2.5.1(現行の最新版) binding_of_caller 0.8.0(現行の最新版) インス…

【RubyGems】簡単に認証機能がつくれるgem『devise』を試してみた

はじめに つぎにつくる予定のWebアプリでは、認証(ログイン)機能を実装しようと思っています。そこで認証機能を実装するためのgemで有名な『devise』の最低限の動作確認をしてみました。 環境は以下の通りです Ruby 2.6.3 Rails 6.0.0 devise 4.7.1 (現時…

名前が「ン」で終わるポケモンの数をRuby2.7の新機能「Enumerable#tally」を使って数えてみた

はじめに 開発・公開中の『ポケモンしりとり』は、ポケモンの名前を使ったしりとりです。ルールは通常のしりとりと同じなので、名前の語尾が「ン」で終わるポケモンを回答すると負けになってしまいます。 www.pokemon-shiritori.com 現在、ポケモンは809種類…

【Rubyで競プロ】よく使う、標準入力を扱う方法あれこれ

はじめに 最初はRubyの勉強のために始めた競技プログラミング(以下競プロ)ですが、最近はほぼ趣味として取り組んでいます。いずれは競プロに適しているとされる、コンパイル言語のC++で取り組んでみたいとは思っているものの、まだRuby学習中の身なのでし…

bundle install で「--path vendor/bundle」するかしないか問題

今日、こちらのQiita記事を読みました。 qiita.com --path vendor/bundle は、gem のインストール先をプロジェクト固有のローカルに指定するbundle installコマンドのオプションです。 読んだQiita記事は --path vendor/bundleのオプションは、付けたい人が…

SonicGarden伊藤さんのブログを読んで、Rubyのプログラミング問題に取り組んでみた

業務ではJavaを扱っていますが、プライベートではRuby(on Rails)の学習をしています。 『プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)』(チェリー本)を終え、Railsチュートリアルを1周…