あまブログ

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

Ruby

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

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

【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)の対応を解説します。 ファイルモードの記号表記については以下の記事を参照ください。 amablog.tech 1. File::Stat#modeが返す値 fs = File::Stat.new('samp…

【Ruby】JSON.parseエラー対処【no implicit conversion of File into String (TypeError)】

バージョン情報 Ruby:3.1.0 robocop:1.32.0 経緯 以下のような、JSONファイルを読み込むコードを書いていた。 require 'json' file_path = "test.json" p File.open(file_path) { |f| JSON.load(f) } #=> ファイルの内容 これをrubocopでチェックすると以…

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超入門

ゼロからわかる Ruby 超入門 2章 オブジェクトと変数 3章 処理の流れを変える 4章 配列 5章 配列の便利なメソッド 6章 ハッシュ 6.1 ハッシュとシンボル 6.2 ハッシュの繰り返し処理 7章 メソッド 7.1 メソッドの基礎 7.2 メソッドへオブジェクトを渡す(引数…

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

環境 macOS Monterey 12.4 Ruby 3.1.0 ボウリングのスコア計算プログラムの要件 1ゲーム = 10フレーム 1フレーム = 2投 スペアのフレームの得点は次の1投の点を加算する。 ストライクのフレームの得点は次の2投の点を加算する。 10フレーム目は1投目がストラ…

【RuboCopエラー】Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||.

環境 rubocop 1.30.0 Ruby 3.1.0 エラー内容 Favor modifier if usage when having a single-line body. Another good alternative is the usage of control flow &&/||. if文の中身が1行の場合は、後置ifを使用するか、&&または||を使用してください。 エラ…

【RuboCopエラー】Use the return of the conditional for variable assignment and comparison.

rubocopでUse the return of the conditional for variable assignment and comparison.のエラーが出た時の対処法。 環境 rubocop 1.30.0 Ruby 3.1.0 エラー内容 Use the return of the conditional for variable assignment and comparison. 変数の代入と比…

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

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

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

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