[#48862] Objectの下にKernel等に定義された定数と同名のモジュール/クラスを定義出来ない — py <py.kaei@...>
はじめまして、pyといいます。
7 messages
2012/08/04
[#48866] Re: Objectの下にKernel等に定義された定数と同名のモジュール/クラスを定義出来ない
— py <py.kaei@...>
2012/08/06
> module Kernel::X; end
[#48870] [質問] /usr/lib/ruby/1.8/net/http.rb:560:in `initialize': getaddrinfo: Name or service not known (SocketError) — Takahiro Yamaguchi <Takahiro.Yamaguchi@...>
3 messages
2012/08/07
[#48875] MechanizeでNAVERへの自動loginスクリプトでpasswordがうまく渡らない — Takahiro Yamaguchi <Takahiro.Yamaguchi@...>
9 messages
2012/08/08
[#48905] Re: MechanizeでNAVERへの自動loginスクリプトでpasswordがうまく渡らない
— Tomoyuki Chikanaga <nagachika00@...>
2012/08/16
近永と申します。
[#48906] Re: MechanizeでNAVERへの自動loginスクリプトでpasswordがうまく渡らない
— ユグドラシル <yuggrdrasill@...>
2012/08/16
ユグと申します。
[#48908] Re: MechanizeでNAVERへの自動loginスクリプトでpasswordがうまく渡らない
— Takahiro Yamaguchi <Takahiro.Yamaguchi@...>
2012/08/17
[#48909] Re: MechanizeでNAVERへの自動loginスクリプトでpasswordがうまく渡らない
— Koutarou Tanaka <from.kyushu.island@...>
2012/08/17
たなかと申します。
[#48910] Re: MechanizeでNAVERへの自動loginスクリプトでpasswordがうまく渡らない
— Takahiro Yamaguchi <Takahiro.Yamaguchi@...>
2012/08/17
[#48876] ツイートの文字コード変換について — konoki-nannoki-ggrks.mp4@...
こんにちは。
9 messages
2012/08/08
[#48884] Ruby Programmerの資格などはないのでしょうか?
— Fumiaki Sakamoto <ua6ta6@...>
2012/08/10
初投稿のSakamotoと申します。
[#48895] rvmで、1.8.7と1.9.2の両方を使い分けたいのですが — Fumiaki Sakamoto <ua6ta6@...>
お世話になっております。
10 messages
2012/08/13
[#48896] Re: rvmで、1.8.7と1.9.2の両方を使い分けたいのですが
— "Shota Fukumori (sora_h)" <sorah@...>
2012/08/13
gem installじゃなくてrvm installじゃないでしょうか?
[#48898] Re: rvmで、1.8.7と1.9.2の両方を使い分けたいのですが
— "Endo Akira" <endo4917@...>
2012/08/13
遠藤です。
[ruby-list:48914] Re: 「String#splitで、パターンにマッチした部分も返り値の配列に含める」ようなメソッド/ライブラリ
From:
rubikitch@...
Date:
2012-08-19 03:37:16 UTC
List:
ruby-list #48914
From: "H.Hiro" <main@hhiro.net>
Subject: [ruby-list:48913] 「String#splitで、パターンにマッチした部分も返り値の配列に含める」ようなメソッド/ライブラリ
Date: Sun, 19 Aug 2012 11:24:03 +0900
るびきちです。
> このたび伺いたいのは、以下のようなメソッド(ライブラリ)がすでに存在するか、ということです。
> - String#splitで、返り値の配列に「パターンにマッチした部分」も一緒に含める
> String#splitとString#scanを同時にするようなイメージです。
>
> 例えば
> "foo123bar456hoge".split_with(/\d+/) # => ["foo", "123", "bar", "456", "hoge"]
> "123hoge456".split_with(/\d+/) # => ["123", "hoge", "456"]
> といった感じです。(メソッド名は仮)
.split(/(\d+)/) でどうでしょうか?
"foo123bar456hoge".split(/(\d+)/) # => ["foo", "123", "bar", "456", "hoge"]
# この挙動は少し異なります
"123hoge456".split(/(\d+)/) # => ["", "123", "hoge", "456"]
--- split(sep = $;, limit = 0) -> [String] | [[String]]
第 1 引数 sep で指定されたセパレータによって文字列を limit 個まで分割し、
結果を文字列の配列で返します。
第 1 引数 sep は以下のいずれかです。
: 正規表現
正規表現にマッチする部分で分割する。
特に、括弧によるグルーピングがあればそのグループにマッチした
文字列も結果の配列に含まれる (後述)。
: 文字列
その文字列自体にマッチする部分で分割する。
: 1 バイトの空白文字 ' ' か nil
先頭と末尾の空白を除いたうえで、空白文字列で分割する。
: 空文字列 '' あるいは空文字列にマッチする正規表現
文字列を 1 文字ずつに分割する。マルチバイト文字を認識する。
sep が正規表現で、かつその正規表現に括弧が含まれている場合には、
各括弧のパターンにマッチした文字列も配列に含まれます。
括弧が複数ある場合は、マッチしたものだけが配列に含まれます。
第 2 引数 limit は以下のいずれかです。
: limit > 0
最大 limit 個の文字列に分割する
: limit == 0
分割個数制限はなしで、配列末尾の空文字列を取り除く
: limit < 0
分割個数の制限はなし
@param sep 文字列を分割するときのセパレータのパターン
@param limit 分割する最大個数
例:
p " a \t b \n c".split(/\s+/) # => ["", "a", "b", "c"]
p " a \t b \n c".split(nil) # => ["a", "b", "c"]
p " a \t b \n c".split(' ') # => ["a", "b", "c"] # split(nil) と同じ
p " a \t b \n c".split # => ["a", "b", "c"] # split(nil) と同じ
# 括弧を含む正規表現
p '1-10,20'.split(/([-,])/) # => ["1", "-", "10", ",", "20"]
# 正規表現が空文字列にマッチする場合は 1 文字に分割
p 'hi there'.split(/\s*/).join(':') # => "h:i:t:h:e:r:e"
# 文字列全体を 1 文字ずつに分割する例
p 'hi there'.split(//).join(':') # => "h:i: :t:h:e:r:e"
# limit == 0 だと制限なく分割、配列末尾の空文字列は取り除かれる
p "a,b,c,,,".split(/,/, 0) # => ["a", "b", "c"]
# limit 省略時は 0 と同じ (最もよく使われるパターン)
p "a,b,c,,,".split(/,/) # => ["a", "b", "c"]
# 正の limit 使用例
p "a,b,c,d,e".split(/,/, 1) # => ["a,b,c,d,e"]
p "a,b,c,d,e".split(/,/, 2) # => ["a", "b,c,d,e"]
p "a,b,c,d,e".split(/,/, 3) # => ["a", "b", "c,d,e"]
p "a,b,c,d,e".split(/,/, 4) # => ["a", "b", "c", "d,e"]
p "a,b,c,d,e".split(/,/, 5) # => ["a", "b", "c", "d", "e"]
p "a,b,c,d,e".split(/,/, 6) # => ["a", "b", "c", "d", "e"]
p "a,b,c,d,e".split(/,/, 7) # => ["a", "b", "c", "d", "e"]
# limit が負の数の場合は制限なく分割
p "a,b,c,,,".split(/,/, -1) # => ["a", "b", "c", "", "", ""]
--
rubikitch
Blog: http://d.hatena.ne.jp/rubikitch/
Site: http://www.rubyist.net/~rubikitch/
Twit: http://twitter.com/rubikitch/
Emacsネット塾『Emacsの鬼るびきちのココだけの話』 http://tinyurl.com/76bnprd
『Emacs Lispテクニックバイブル』 http://tinyurl.com/6r6khos
『Emacsテクニックバイブル』 http://tinyurl.com/24yghag
『Ruby逆引きハンドブック』 http://tinyurl.com/pbfqwn