Ruby
内容としては だいたい 旧記事とおなじ gouf.hatenablog.com gist.github.com Links クラスのメンバの更新 | レベルアップ問題集 | プログラミング学習サイト【paizaラーニング】
書いたコードは次の通り。 入力データは信頼できるものだと仮定することで、public_send でコードの記述を省力化することができた。 gist.github.com
書いたコードは次の通り。 登場人物、クラス分けを意識して書いた gist.github.com Link クラス・構造体メニュー Ruby編 | レベルアップ問題集 | プログラミング学習サイト【paizaラーニング】 : 「クラスの継承」
前提 下記 いずれかを満たしている環境の話 : ターミナルの画面を2画面用意している tmux などの画面分割で2画面同時操作できる VSCode などの IDE で、「エディタ画面」「ターミナル画面」2画面同時操作できる やりたいこと・解決したいこと プログラミング…
コードを書いた。 github.com copy_me.sh を用意している ので、好きな関数名 (eg. hiwari) をつけて その年の月数を渡してあげると「営業日」「日割り額」を出力してくれる hiwari 6 # 今年 (2024年) 6月の日割り額が知りたい 営業日: 20日 日割り額: 30,00…
計算したことなかったので、できるようにした 前提 経歴情報は Proff に保存している 各経歴の「いつから いつまで」は「年・月」のみで、「日」は含まれない 入力データは 20143 20149 20162 20175 のように「yyyymm」「yyyym」のいずれかで整形されている …
A. private_class_method :new を記述する 参考にしたコードは「良いコード/悪いコードで学ぶ設計入門」の「5.2.1 private コンストラクタ+ファクトリメソッドで目的別初期化」より gist.github.com Links How to make the class constructor private in Ru…
A. まとめるとこうなる gist.github.com
A. つぎの設定を追記する docker-compose.yml : # ... services: # ... guard: build: context: . env_file: - .env command: bundle exec guard depends_on: - mysql volumes: - .:/app tty: true stdin_open: true # ... Dockerfile (Alpine Linux) : RUN …
Twitter Web だったり、TweetDeck からはリストに加えているアカウント数が確認できなかったので、API 経由で問い合わせる 書いたコード Bash 関数を定義する Link リポジトリを作った: github.com 書いたコード # frozen_string_literal: true require 'twi…
スクレイピングで 日の出・日の入り時刻を調べられるようになった リポジトリ: github.com 都道府県名や、市の名前でその日・その場所の時刻を調べられる Links gouf/sunrise_sunset: Scrape sunrise sunset data from https://motohasi.net/SunriseSunset/J…
A. 次のコードで確認できる require 'active_support' require 'active_support/core_ext' Date.new(2021, 4, 1).end_of_month.advance(days: 45).to_s # => "2021-06-14" irb や pry で打ち込むと、すぐに確認できる 支払いサイトの計算が簡単になった!! Li…
OSS 活動の話 ほめられた! 概要 pry セッション内で、pry-theme install ocean みたいにコマンドを唱えるとエラーが発生するのに気付いて、修正した (詳細はリンク先) [1] pry(main)> pry-theme install ocean Installing "ocean" from Pry Theme Collectio…
3ケタの数字から見つかる カプレカ数 は「495」が唯一らしい 与えられた数値に対して「カプレカ操作」を実行し、値がおなじになるものの数を探してみた ループ処理でゴリ押し def kaprekar_manipulate(n) # 桁数を昇順・降順に並べ替える max = n.to_s .char…
質問に回答したのでその転記 teratail.com Ruby 2.7 のパターンマッチ (実験的な機能) で書いてみた gist.github.com Link ActiveSupport::Duration#build
A. (subject を定義して) it { is_expected.to be_const_defined :FOO } と記述する 回答の例 にあるように、be_ や have_ で柔軟なテストが可能になっている The reason is that Rspec has "magic" matchers for methods starting with be_ and have_. For …
リポジトリを作った : gouf/watir_in_docker_demo - GitHub 詳しくはそちらを参照のこと 今回は最小限の環境で動くのを確認するのが目的だった もし次のステップを設定するなら、Watir を絡めたコードをもう少しモリモリ書いて動かしてみたい Links Watir Pr…
module RegnalYear module JP refine Integer do def to_regnal_year_jp case self when 1868..1912 '明治' when 1912..1926 '大正' when 1926..1989 '昭和' when 1990..2019 # acutualy: 1/8/1989 - 4/30/2019 '平成' end end end end end using RegnalYear…
A. mry コマンドをつかう Vim + Ale で rubocop を自動で走らせていたけど、動かなくなったので その対処 インストールと使い方 # インストール gem install mry # つかいかた mry --help # => # Usage: mry [options] [.rubocop.yml] # -t, --target=TARGET…
回答コードを載せるので、未挑戦の場合は先に 翌営業日 - その1 を参照のこと 前提・概要 前提 概要 回答コード, テストコード 次の一歩? Links 前提・概要 前提 レベルアップ問題集にある問題については、ユーザー同士で解答を教え合ったり、コードを公開し…
じゃんけんゲームの動作イメージ Qiita の記事「Rubyでじゃんけんアプリを作ってみた - Qiita」を見掛けたので 自分でも書いてみた 書いたコード 別解: 法則性を味方につける Links 書いたコード 出す手の種類が 3つと限られているので その勝敗パターンを愚…
完成しててメンテしてないコードをそのまま放置してたら お知らせメールが来てた... ので対応した たとえコードが完成したとしてもインフラや OS など、周りの環境は変化を続ける 内容はほぼお知らせメールの案内に記されてる通り やったこと プラグインのイ…
日常生活をチョットべんりにした話 問題・背景 解決 動作イメージ 候補日の作成 候補日の確定 Links 問題・背景 就職・転職活動で「面談候補日をいくつか教えてね」と云われることがある 確定を待つ間、別の予定を被らせて入れたくないので Google Calendar …
エラーメッセージ: Bundler could not find compatible versions for gem "bundler" でインストールできないので、対処したい A. つぎの patch を適用して、自分で gem をビルド・インストールする (再び bundler のバージョンが大きく上がった場合は当該箇…
A. pry-theme を導入する ターミナルは黒背景で使いたいので、それに合う pry-cold を設定した pry-cold テーマのプレビュー Links kyrylo/pry-theme: An easy way to customize Pry colors via theme files - GitHub
「月の日数 Ruby編」に正答したのでメモ 書いたコード 所感 書いたコード gist.github.com 所感 Date#succ で日付を一日後ろに移動できるので、それを再帰のループに組み込めたのが良かった puts (date..date.next_month.prev_day).to_a.size で書ける...? …
「日付のフォーマット」に正答したのでメモ 書いたコード 所感 Links 書いたコード gist.github.com 所感 月と日の検査値を Range と String#rjust とで作れたので そこはスッキリ書けた クラス内のメソッドにまとめたので、一つ一つ検査するようなコードで…
公式ドキュメントの sigs の部分だけ触ってみた 他に NAMES = T.let(["Nelson", "Dmitry", "Paul"], T::Array[String]) といった書き方もできる のでヨサソウ 何千行, 何万行とコードを書いて混沌としてきたコードベースに秩序をもたらすことができる...? 詳…
内容は janko/image_processing の README.md と同じもの 簡単な処理であれば 利用する画像処理ライブラリを選ぶ以外には共通したコードになりそう 前提 画像ファイルを用意する 画像ファイルをリサイズ・保存する Links 前提 brew install imagemagick vips…
line/line-bot-sdk-ruby に公開されている examples/echobot/app.rb を動かしてみた 前提・ゴール設定 準備 チャネル, bot の作成 LINE Messaging API SDK をインストールする dotenv gem を使う 署名検証をしない Sinatra と ngrok を動かす Webhook URL に…