將代碼塊(字符串)分解爲其「主要部分」及其「期望返回部分」的最佳方式是什麼?這裏是我的定義:將代碼塊分離爲主要部分和預期返回部分
- 的預期收益部分是一個匹配
/^[ \t]*#[ \t]*=>/
然後連續零個或多個行不匹配/^[ \t]*#[ \t]*=>/
但一致/[ \t]*#(?!\{)/
線。 - A 主要部分是不是預期回報部分的任何連續線。
主要零件和預期退貨零件可能在代碼塊中出現多次。
給定一個代碼塊的字符串,我想獲得一個數組數組,其中每個數組都包含一個是否是預期返回部分的標誌和字符串。做這個的最好方式是什麼?例如,給定一個字符串code
,其內容是:
def foo bar
"hello" if bar
end
#=> foo(true) == "hello"
#=> foo(false) == nil
a = (0..3).to_a
#=> a == [
# 0,
# 1,
# 2,
# 3
# ]
我想回報,將是相同的:
[[false, <<CHUNK1], [true <<CHUNK2], [true, <<CHUNK3], [false, <<CHUNK4], [true, <<CHUNK5]]
def foo bar
"hello" if bar
end
CHUNK1
#=> foo(true) == "hello"
CHUNK2
#=> foo(false) == nil
CHUNK3
a = (0..3).to_a
CHUNK4
#=> a == [
# 0,
# 1,
# 2,
# 3
# ]
CHUNK5
我問了一個與此相關的問題:http://stackoverflow.com/questions/13107492 – sawa