Tbpgr Blog

Organization Development Engineer tbpgr(てぃーびー) のブログ

2014-11-01から1ヶ月間の記事一覧

Ruby | Regexp | source

概要 Regexp#source -> String 詳細 その正規表現のもととなった文字列表現を生成して返却。 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS /h.ge/i.source /h.ge/im.source //.source EOS __END__ 下記はTbpgrUtils gemの機能 bulk…

Ruby | Regexp | options

概要 Regexp#options -> Integer 詳細 規表現の生成時に指定されたオプションを返却。 戻り値は Regexp::EXTENDED, Regexp::IGNORECASE, Regexp::MULTILINE, Regexp::FIXEDENCODING, Regexp::NOENCODING, の論理和。 サンプルコード require 'tbpgr_utils' b…

CodeIQ | 『第8回デスマコロシアム』問題 QA @tbpgr #CodeIQ

概要 『第8回デスマコロシアム』問題 QA 詳細 『第8回デスマコロシアム』問題 QAです。 Q1 Q 解答コードの文字数はどのように数えますか?A Byteではなく文字数で数えます。 具体的にはRubyのsizeメソッドで数えます。 Q2 Q ideoneで実行すると、標準出力は…

CodeIQ | 『第8回デスマコロシアム』問題 集計報告 @tbpgr #CodeIQ

[CodeIQ]CodeIQ | 『第8回デスマコロシアム』問題 @tbpgr #CodeIQ 概要 『第8回デスマコロシアム』問題 詳細 『第8回デスマコロシアム』問題 の参加状況集計です。 https://codeiq.jp/ace/tbpgr_colosseum_manager/q1220 残言語 挑戦者0名の言語は以下です。…

CodeIQ | 『第8回デスマコロシアム』問題 @tbpgr #CodeIQ

概要 『第8回デスマコロシアム』問題 詳細 『第8回デスマコロシアム』問題 の出題を2014年12月08日 AM8:00時から12月28日 PM8時まで行っています。 https://codeiq.jp/ace/tbpgr_colosseum_manager/q1220 どんな問題? 簡単な問題に好きな言語(ideoneの範囲…

Ruby | Regexp | names

概要 Regexp#names -> [String] 詳細 正規表現に含まれる名前付きキャプチャ(named capture)の名前を 文字列の配列で返却。 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS /(?<name>.+?), (?<age>.+?)/.names /(?<name>.+?), (?<name>.+?), (?<age>.+?)/.names /</age></name></name></age></name>…

Ruby | Regexp | named_captures

概要 Regexp#named_captures 詳細 正規表現に含まれる名前付きキャプチャ(named capture)の情報を Hash で返却。 Hash のキーは名前付きキャプチャの名前で、値は index のリストを返却。 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-…

Ruby | Regexp | match

概要 Regexp#match(str, pos = 0) -> MatchData | nil Regexp#match(str, pos = 0) {|m| ... } -> object | nil 詳細 指定された文字列 str に対して 位置 pos からマッチングを行う。マッチした場合: MatchData オブジェクトを返却 マッチしなかった場合: n…

Ruby | Regexp | fixed_encoding?

概要 Regexp#fixed_encoding? -> bool 詳細 正規表現が任意の ASCII 互換エンコーディングとマッチ可能な時に false を返却。 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS /ascii/.fixed_encoding? /utf-8/u.fixed_encoding? /ほ…

Ruby | Regexp | encoding

概要 Regexp#encoding -> Encoding 詳細 正規表現オブジェクトのエンコーディングを表す Encoding オブジェクト を返却。 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS /h.ge/.encoding /h.ge/u.encoding /ほげ/.encoding EOS __EN…

CodeIQ | 『GitHub素数Userは何人』問題 @tbpgr #CodeIQ

概要 『GitHub素数Userは何人』問題 詳細 『GitHub素数Userは何人』問題 を2014/11/25〜2014/12/15まで出題します。 https://codeiq.jp/ace/tbpgr_badge/q1197 どんな問題? GitHubのAPIを利用して、著名開発者のidのうち、素数のユーザー数を数える問題です…

CodeIQ | 『GitHub入門』問題 @tbpgr #CodeIQ

概要 『GitHub入門』問題 詳細 『GitHub入門』問題 を2014/11/25〜2014/12/15まで出題します。 https://codeiq.jp/ace/tbpgr_badge/q1196 どんな問題? GitHubの入門問題です 経過情報 日次 総人数 全問正解者数 2014/12/16 10:00:00 86 67 2014/12/15 23:35…

Ruby | Regexp | casefold?

概要 Regexp#casefold? 詳細 正規表現が大文字小文字の判定をしないようにコンパイルされている時、 真を返却。 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS /h.ge/i.casefold? /h.ge/.casefold? Regexp.compile("h.ge", Regexp::…

Ruby | Regexp | ~

概要 Regexp#- 詳細 以下と同じ self =~ $_ サンプルコード require 'tbpgr_utils' $_ = "hogehigehage" ~ /(h.ge)(h.ge)(h.ge)/ bulk_puts_eval binding, <<-EOS Regexp.last_match Regexp.last_match(0) Regexp.last_match(1) Regexp.last_match(2) Regexp…

Ruby | Regexp | =~

概要 Regexp#=~ string -> Fixnum | nil 詳細 文字列 string との正規表現マッチを行います。マッチした場合 |> マッチした位置のインデックスを返却 マッチしなかった場合 |> nil を返却。 String が nil の場合 |> nil を返却。 サンプルコード require 't…

Ruby | Regexp | ===

概要 Regexp#=== string -> bool 詳細 文字列 string との正規表現マッチを行い、 マッチした場合は真を返却します。 string が文字列でもシンボルでもない場合には false を返します。るりまには記載されていないが、 Regexp#=== は case 文の内部での利用…

Ruby | Regexp | == / eql?

概要 Regexp#self == other -> bool Regexp#eql?(other) -> bool 詳細 otherが同じパターン、オプション、文字コードの正規表現であったらtrueを返却。 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS /h.ge/ == /h.ge/ /h.ge/ == Re…

Ruby | Regexp | union

概要 Regexp.union(*pattern) -> Regexp 詳細 引数として与えた pattern を選択 | で連結し、Regexp として返却。 結果の Regexp は与えた pattern のどれかにマッチする場合にマッチするものになります。 サンプルコード require 'tbpgr_utils' bulk_puts_e…

Ruby | Regexp | try_convert

概要 Regexp#try_convert(obj) -> Regexp | nil 詳細 obj を to_regexp メソッドで Regexp オブジェクトに変換する。 成功すれば Regexp を返却。 失敗時は nil を返却。 サンプルコード require 'tbpgr_utils' class DuckTypeRegexp def initialize(pattern…

Markdown 駆動調査 = Markdown Driven Investigation #markdown

概要 Markdown 駆動調査 について 前提 私の記憶力が非常に弱いため、使わざるを得ない手法。 記憶力が良い人には不要かもしれない。 Markdown 駆動調査 とは? 何か調べごとをする際に、 Markdown 形式にまとめながら情報収集する方法。・何かしらのエラー…

Ruby | Regexp | last_match

概要 Regexp#last_match -> MatchData Regexp#last_match(nth) -> String | nil 詳細 カレントスコープで最後に行った正規表現マッチの MatchData オ ブジェクトを返却。 $~ と同じ。RuboCop では $~ よりも、こちらが推奨される。 引数 nth 付きの場合は、 …

Ruby | Regexp | escape

概要 Regexp#escape(string) -> String Regexp#quote(string) -> String 詳細 正規表現の利用時にエスケープが必要な文字にバックスラッシュを付与する。 サンプルコード puts Regexp.escape('.*?/+-{}()abc') puts Regexp.quote('.*?/+-{}()abc') 出力 \.\*…

Ruby | Regexp | compile

概要 Regexp#compile(string, option = nil, code = nil) -> Regexp Regexp#new(string, option = nil, code = nil) -> Regexp 詳細 文字列 string をコンパイルして正規表現オブジェクトを生成して返却。 第一引数が正規表現であれば第一引数を複製して返し…

Ruby | Range | step

概要 Range#step(s = 1) {|item| ... } -> self Range#step(s = 1) -> Enumerator 詳細 範囲内の要素を s おきに繰り返却 サンプルコード require 'tbpgr_utils' class Hoge attr_accessor :count def initialize(count) @count = count end def succ copy =…

Ruby | Range | min

概要 Range#min -> object | nil Range#min {|a, b| ... } -> object | nil 詳細 範囲内の最小の値を返却。 範囲に要素がなければ nil。ブロック付の場合、 ブロックの評価結果で範囲内の各要素の大小判定を行い、最小の要素を返却。 範囲に要素がなければ n…

Ruby | Range | max

概要 Range#max -> object | nil Range#max {|a, b| ... } -> object | nil 詳細 範囲内の最大の値を返却。 範囲に要素がなければ nil。ブロック付の場合、 ブロックの評価結果で範囲内の各要素の大小判定を行い、最大の要素を返却。 範囲に要素がなければ n…

Ruby | Range | exclude_end?

概要 Range#exclude_end? -> bool 詳細 範囲オブジェクトが終端を含まないとき真を返却 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS (2..5).exclude_end? (2...5).exclude_end? Range.new(2, 5).exclude_end? Range.new(2, 5, fal…

Ruby | Range | eql?

概要 Range#eql?(other) -> bool 詳細 以下の条件を満たせば真を返却 ・ 指定された other が Range クラスのインスタンス ・ 始点と終点が eql? メソッドで比較して等しい ・ Range#exclude_end? が同じ サンプルコード require 'tbpgr_utils' bulk_puts_ev…

Ruby | Range | end or last

概要 Range#end -> object Range#last -> object Range#last(n) -> [object] 詳細 終端の要素を返却。 last に引数 n を付加すると、終端から n 要素を返却 サンプルコード require 'tbpgr_utils' bulk_puts_eval binding, <<-EOS (2..5).end (2...5).end (2…

Ruby | Range | each

概要 Range#each {|item| ... } -> self Range#each -> Enumerator 詳細 範囲内の要素に対して繰り返します。 Range#each は各要素の succ メソッドを使用してイテレーションする succ メソッドを持たない場合、エラーになります。 サンプルコード require '…