あまブログ

ドキドキ......ドキドキ2択クイ〜〜〜〜〜〜〜ズ!!

Ruby

RubyとRailsの最新バージョンを公式ページから確認する

1. Ruby 1-1. リリース情報 1-2. バージョニングルール 2. Rails 2-1. リリース情報 2-2. バージョニングルール 1. Ruby 1-1. リリース情報 Ruby公式ページ - ダウンロード Ruby公式ページ - Ruby のリリース一覧 1-2. バージョニングルール Ruby 2.1.0 以降…

【VSCode】ShopifyのRuby LSPを導入する方法

rubyide/vscode-rubyが非推奨になり、代わりに Shopify/vscode-ruby-lsp を使うように公式から勧告が出ました。 この記事ではShopify/vscode-ruby-lspを導入する手順を紹介します。 formatterにはrubocopを使用します。 1. 開発環境 VSCode:1.84.0 Ruby:3.…

【VSCode+Prettier】Railsのコードを自動フォーマットする

この記事では、Prettier for Rubyを使って、Railsのコードを自動フォーマットする方法を紹介します。 VSCodeでファイルを保存する際に自動フォーマットできるようになります。 1. 検証環境 2. 設定手順 2-1. @prettier/plugin-rubyのインストール 2-2. gemの…

【RUBY_FUNCTION_NAME_STRING】rbenv installでBUILD FAILEDが出てRuby 3.1.1がインストールできない時の対処法

1. 環境 MacBook Pro (13-inch, 2020) macOS Ventura 13.1 Homebrew:3.6.20(※) xcode-select:2396(※) ※ エラー解決後のバージョン 2. 発生した問題 rbenvでRuby 3.1.1をインストールしようとしたら以下のエラーが発生。 $ rbenv install 3.1.1 Downloading…

【Ruby3.1】lsコマンドを作る(OOP版)

非OOP版はこちら↓ ama-tech.hatenablog.com 1. 実行環境 macOS:13.0.1 Ruby:3.1.0 2. ソースコード ls.rb #!/usr/bin/env ruby # frozen_string_literal: true require_relative 'command' LS::Command.new(ARGV).list_files command.rb # frozen_string_l…

【Ruby】Minitestの使い方

この記事では、minitestを使ってRubyのコードをテストする方法を紹介します。 Rubyのテストフレームワーク、Test::Unit・test-unit・minitestの違いについては以下を参照ください。 Ruby標準のテスティングフレームワークで手軽にテストコードを書く方法 - Q…

【Ruby3.1】ボウリングのスコア計算プログラムをオブジェクト指向で作る

非OOP版はこちら↓ ama-tech.hatenablog.com 1. 実行環境 macOS:12.6 Ruby:3.1.0 2. ソースコード bowling.rb #!/usr/bin/env ruby # frozen_string_literal: true require_relative 'game' shots = ARGV[0].split(',') game = Game.new(shots) puts game.s…

【Ruby】Sinatraでメモアプリを作る(DB編)

この記事では、RubyのWebアプリケーションフレームワークであるSinatraを使って、シンプルなメモアプリを作成します。 データ保存先のDBにはPostgreSQLを使用します。 今回は、以下の記事で作成したメモアプリのデータ保存先をPostgreSQLに変更します。 ama-…

【Ruby3.1】wcコマンドを作る

この記事では、RubyでLinuxのwcコマンドを実装する方法を解説します。 gemを使わずにRubyの標準ライブラリのみで実装します。 後半にソースコードを載せているため、FJORD BOOT CAMP(フィヨルドブートキャンプ)でwcコマンドの課題に取り組まれている方はご注…

【Ruby】rbenvのよく使うコマンド一覧

この記事ではrbenvのよく使うコマンドを紹介していきます。 1. バージョン確認 1-1. 現在使用中のRubyのバージョンを表示 1-2. インストール済みのRubyのバージョンを表示 2. インストール 2-1. インストール可能なRubyの最新安定版のバージョンを表示 2-2. …

【Ruby】Sinatraでメモアプリを作る(JSONファイル編)

この記事では、RubyのWebアプリケーションフレームワークであるSinatraを使って、シンプルなメモアプリを作成します。 データの保存先にはDBを使わず、JSONファイルを使用します。 1. 実行環境 2. メモアプリの要件 3. 作成手順 3-1. 設計 1. URI設計 2. デ…

【Ruby3.1】lsコマンドを作る

この記事では、RubyでLinuxのlsコマンドを実装する方法を解説します。 gemを使わずにRubyの標準ライブラリのみで実装します。 後半にソースコードを載せているため、FJORD BOOT CAMP(フィヨルドブートキャンプ)でlsコマンドの課題に取り組まれている方はご注…

【Ruby】File::Stat#modeが返すファイルモードの数値を記号表記に変換する

この記事では、RubyのFile::Stat#modeが返すファイルモードの数値と、記号表記(symbolic notation)の対応を解説します。 ファイルモードの記号表記については以下の記事を参照ください。 ama-tech.hatenablog.com 1. File::Stat#modeが返す値 fs = File::Sta…

RubyでJSONファイルを扱う方法

この記事ではJSONの基礎と、RubyでJSONファイルを扱う方法を紹介します。 1. JSONの基礎 1-1. JSON(JavaScript Object Notation)とは 1-2. JSONの表記方法 JSONのデータ型 1. 文字列(string) 2. 数値(number) 3. 真偽値(boolean) 4. ヌル値(null) 5. オブジ…

【Ruby 3.1】ボウリングのスコア計算プログラムを作る

OOP版はこちら↓ ama-tech.hatenablog.com 1. 実行環境 2. ボウリングのスコア計算プログラムの要件 3. ソースコード 3-1. ver1 3-2. ver2 4. ソースコード(ver2)の解説 4-1. 主な使用メソッド 4-2. 解説 4行目 6~18行目 21~30行目 1. 実行環境 macOS Montere…

【Ruby 3.1】カレンダーのプログラムを作る

1. 環境 macOS Monterey 12.4 Ruby 3.1.0 2. カレンダープログラムの要件 -mで月を、-yで年を指定できる 引数を指定しない場合は、今年・今月のカレンダーが表示される macに入っているcalコマンドと同じ見た目になっている 今日の日付の部分の色が反転する …

【Ruby】コンソールに出力結果を色付きで表示する方法【ANSIエスケープシーケンス】

この記事ではRubyの出力結果を色付きで表示する方法を紹介します。 ターミナルの出力結果で色を使うためにはエスケープシーケンスというものを利用します。 エスケープシーケンスはターミナル上で色を含む特定の制御を実現するための特殊な文字列です。 ANSI…