- Ruby 初心者スレッド Part 56©2ch.net
837 :デフォルトの名無しさん[sage]:2015/02/25(水) 01:37:03.71 ID:e/Qay/4t - '-12345-12-123-' に対して
「-」で挟まれた部分が最小となるような正規表現って書けますでしょうか? /-\w*?-/だと-12345-にマッチしますが、 -12-にマッチするようなものが欲しいんですけど。
|
- Ruby 初心者スレッド Part 56©2ch.net
839 :デフォルトの名無しさん[sage]:2015/02/25(水) 02:32:48.94 ID:e/Qay/4t - >>838
ありがとうございます。 .scan(/\d+/).sort_by{|i| i.length} で代用することにします。
|
- Ruby 初心者スレッド Part 56©2ch.net
841 :デフォルトの名無しさん[sage]:2015/02/25(水) 03:05:36.04 ID:e/Qay/4t - >>840
ありゃりゃ、確かに。 min_byで十分ですね。
|
- Ruby 初心者スレッド Part 56©2ch.net
843 :デフォルトの名無しさん[sage]:2015/02/25(水) 08:24:49.99 ID:e/Qay/4t - >>842
はい、最短のものがいくつかあったときは先の方にあったもので大丈夫です。
|
- Ruby 初心者スレッド Part 56©2ch.net
845 :デフォルトの名無しさん[sage]:2015/02/25(水) 08:55:13.44 ID:e/Qay/4t - >>844
初めに挙げた例が悪くて恐縮なのですが 任意の文字列に対して、ハイフンで挟まれた文字列の長さが最短になるような挙動を期待していたので これだとちょっとマズいです。
|
- Ruby 初心者スレッド Part 56©2ch.net
849 :デフォルトの名無しさん[sage]:2015/02/25(水) 09:18:28.42 ID:e/Qay/4t - >>847
そうですね。 >>841のように目下のところは次のようにすることにしました。 .scan(/\d+/).min_by{|i| i.length}
|
- Ruby 初心者スレッド Part 56©2ch.net
858 :デフォルトの名無しさん[sage]:2015/02/25(水) 10:42:29.54 ID:e/Qay/4t - 理由がわからないといわれても、>>854-855のように定めたから、としか言いようがないんだよね
たとえ多値理論であろうと同じで、その論理の根幹をなす部分だからね
|
- Ruby 初心者スレッド Part 56©2ch.net
859 :デフォルトの名無しさん[sage]:2015/02/25(水) 11:04:35.81 ID:e/Qay/4t - つまり、「1+1=2」の証明だったらがんばれば出来るけど(厳密にはトートロジーなんだけど)
&&や||は証明以前の、「&&や||はこういう風に定義して始めていこう」っていうスタート地点だから 残念ながら覚えるしかない。(XORやIMPから導けるけどそれじゃ意味がないからね) 覚えるにあたっては、日常言語からの類推から>>857などのように考えてみると良いと思う。
|