Коллекции загружаются
#рубиновый_поезд
#айтишный_быт #проект_fanficmd И, об overengineering. Было: class FanficsmeBlock < Parslet::Parser # elementary rules rule(:eol) { str("r") | str("n") | str("rn") } rule(:lchar) { match("[^rn]") } rule(:space) { match(" ") } rule(:lspace) { match("[[:blank:]]") } rule(:exspace) { match("[[:space:]]") } rule(:eof) { any.absent? } rule(:eolf) { eol | eof} # basic rules rule(:sline) { lspace.repeat(1).as(:line) >> eolf } rule(:bline) { str("").as(:line) >> eol } rule(:bsline) { bline | sline } rule(:line) { lchar.repeat(1).as(:line) >> eolf } rule(:aline) { bsline | line } # complex rules rule(:block) { aline } rule(:text) { block.repeat(1) } root(:text) end Стало: class FanficsmeBlock def parse(str) str.gsub!(/rn/, "n") str.gsub!(/r/, "n") arr = str.split("n") arr.map! { |s| {line: s} } end end 17 сентября 2015
|