SyncQiita

gitの仕組み

.git/内の仕組みを知ったら突然gitコマンドがめちゃくちゃ明瞭に理解できるようになった。概要をざっくりメモする。

Rubyにおけるローカル変数のスコープ

いまさらだけど、あれ?と思うことがあったのでメモ。 変数と定数 (Ruby 2.6.0) 「ローカル変数のスコープは、宣言した位置からその変数が宣言されたブロック、メソッド定義、またはクラス/モジュール定義の終りまでです。」 試してみる。 top_level = 1 cla…

しゃくとり法

D - Enough Array 「いちばん愚直にやるとO(n**3), 累積和つかってもO(n**2)だな」まで考えたところで詰まったので解説みた。 しゃくとり法の存在はなんとなく知っていたが、そうかこういう場合に使うと一気にO(n)にできるんだ。 しゃくとり法のアイデアだけ…

Ruby手習い(MatchDataクラス)

アウトプットのネタに困ったらこれ!?Ruby初心者向けのプログラミング問題を集めてみた(全10問) - give IT a try 上記記事の値札分割問題。 自分で書いたコード def split_price(price_text) match = price_text&.match(/[\d\s0-9.,-]+|価格未定/) num …

Ruby手習い(再帰または算数)

アウトプットのネタに困ったらこれ!?Ruby初心者向けのプログラミング問題を集めてみた(全10問) - give IT a try 上記記事のボーナスドリンク問題。 自分で書いたコード class BonusDrink def self.calc(count) count + self.bonus_of(count) end private…

Ruby手習い(正規表現)

アウトプットのネタに困ったらこれ!?Ruby初心者向けのプログラミング問題を集めてみた(全10問) - give IT a try 上記記事のカラオケマシーン問題。 自分で書いたコード class KaraokeMachine KEYS = %w(C C# D D# E F F# G G# A A# B) def initialize(me…

はじめての正規表現

一般的な正規表現 .: 任意の1文字 \には2つの場合がある エスケープする場合:\.とすると、.がメタ文字ではなくてただの文字だよ、と表現する。 あとにつづく文字と組み合わせて1つの文字種を表現する場合 \d: 数字、\w: 文字、\s: スペース。それぞれ大文字…

Ruby手習い(Dateクラス)

アウトプットのネタに困ったらこれ!?Ruby初心者向けのプログラミング問題を集めてみた(全10問) - give IT a try 上記記事のカレンダー作成問題。 出力結果 p-064% ruby calendar.rb May 2019 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 …