Ruby
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 以降…
rubyide/vscode-rubyが非推奨になり、代わりに Shopify/vscode-ruby-lsp を使うように公式から勧告が出ました。 この記事ではShopify/vscode-ruby-lspを導入する手順を紹介します。 formatterにはrubocopを使用します。 1. 開発環境 VSCode:1.84.0 Ruby:3.…
この記事では、Prettier for Rubyを使って、Railsのコードを自動フォーマットする方法を紹介します。 VSCodeでファイルを保存する際に自動フォーマットできるようになります。 1. 検証環境 2. 設定手順 2-1. @prettier/plugin-rubyのインストール 2-2. gemの…
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…
非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…
この記事では、minitestを使ってRubyのコードをテストする方法を紹介します。 Rubyのテストフレームワーク、Test::Unit・test-unit・minitestの違いについては以下を参照ください。 Ruby標準のテスティングフレームワークで手軽にテストコードを書く方法 - Q…
非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のWebアプリケーションフレームワークであるSinatraを使って、シンプルなメモアプリを作成します。 データ保存先のDBにはPostgreSQLを使用します。 今回は、以下の記事で作成したメモアプリのデータ保存先をPostgreSQLに変更します。 ama-…
この記事では、RubyでLinuxのwcコマンドを実装する方法を解説します。 gemを使わずにRubyの標準ライブラリのみで実装します。 後半にソースコードを載せているため、FJORD BOOT CAMP(フィヨルドブートキャンプ)でwcコマンドの課題に取り組まれている方はご注…
この記事ではrbenvのよく使うコマンドを紹介していきます。 1. バージョン確認 1-1. 現在使用中のRubyのバージョンを表示 1-2. インストール済みのRubyのバージョンを表示 2. インストール 2-1. インストール可能なRubyの最新安定版のバージョンを表示 2-2. …
この記事では、RubyのWebアプリケーションフレームワークであるSinatraを使って、シンプルなメモアプリを作成します。 データの保存先にはDBを使わず、JSONファイルを使用します。 1. 実行環境 2. メモアプリの要件 3. 作成手順 3-1. 設計 1. URI設計 2. デ…
この記事では、RubyでLinuxのlsコマンドを実装する方法を解説します。 gemを使わずにRubyの標準ライブラリのみで実装します。 後半にソースコードを載せているため、FJORD BOOT CAMP(フィヨルドブートキャンプ)でlsコマンドの課題に取り組まれている方はご注…
この記事では、RubyのFile::Stat#modeが返すファイルモードの数値と、記号表記(symbolic notation)の対応を解説します。 ファイルモードの記号表記については以下の記事を参照ください。 ama-tech.hatenablog.com 1. File::Stat#modeが返す値 fs = File::Sta…
この記事ではJSONの基礎と、RubyでJSONファイルを扱う方法を紹介します。 1. JSONの基礎 1-1. JSON(JavaScript Object Notation)とは 1-2. JSONの表記方法 JSONのデータ型 1. 文字列(string) 2. 数値(number) 3. 真偽値(boolean) 4. ヌル値(null) 5. オブジ…
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…
1. 環境 macOS Monterey 12.4 Ruby 3.1.0 2. カレンダープログラムの要件 -mで月を、-yで年を指定できる 引数を指定しない場合は、今年・今月のカレンダーが表示される macに入っているcalコマンドと同じ見た目になっている 今日の日付の部分の色が反転する …
この記事ではRubyの出力結果を色付きで表示する方法を紹介します。 ターミナルの出力結果で色を使うためにはエスケープシーケンスというものを利用します。 エスケープシーケンスはターミナル上で色を含む特定の制御を実現するための特殊な文字列です。 ANSI…