split(%r{\s*})
將每個字母忽略空格中:`分裂的含義(%R { S *})`
"hi mom".split(%r{\s*}) # => ["h", "i", "m", "o", "m"]
爲什麼能%r{\s*}
這種方式工作?
split(%r{\s*})
將每個字母忽略空格中:`分裂的含義(%R { S *})`
"hi mom".split(%r{\s*}) # => ["h", "i", "m", "o", "m"]
爲什麼能%r{\s*}
這種方式工作?
%r{...}
(或%r[...]
,或%r#....#
,或者%rX...X
...你的要點)相當於/.../
,一個RegExp文字。在一個正則表達式中,\s
是一個空格,並且*
是前一個標記的0個或更多個:表達式一起表示「在每個點處將字符串拆分爲零或多個空格」。在字符串的每個字符之間(除了空格之外,它們被認爲是可識別的分隔符)之間有零個或多個空格。
%r{\s*}
匹配一個任意的零寬度位置或一個或多個空格,這些空格被排除在分割結果之外。
執行'%r {\ s *}'返回'/ \ s * /'。這是否更清楚?這是Ruby的[百分比字符串]之一(http://ruby-doc.org/core-2.3.0/doc/syntax/literals_rdoc.html)。 (搜索「百分比字符串」。) –
目前還不清楚你的問題是什麼。什麼使你對這個代碼的工作方式感到困惑? –
http://meta.stackoverflow.com/questions/253894/how-to-handle-explain-how-this-code-dump-works-questions/253896#comment17104_253896 –