lua gsub% b <- как это работает? - PullRequest
2 голосов
/ 04 мая 2010

В следующем коде lua:

function interp(s, tab)
  return (s:gsub('($%b{})', function(w) return tab[w:sub(3, -2)] or w end))
end

что означает% b?

и как это соответствует вещам типа "$ {name}"?

1 Ответ

4 голосов
/ 04 мая 2010

%bXY соответствует последовательности символов, которая начинается с X и заканчивается Y. Таким образом, %b{} соответствует {......} для любых символов между фигурными скобками.

Общий шаблон в вашем примере кода сначала соответствует символу $, затем {, любому количеству символов и затем }.

...