Я пытаюсь перенести Matter.js на другой язык. Javascript не самый сильный мой язык.
Эта функция предположительно анализирует строку, содержащую упорядоченные пары x y, разделенные пробелами (и, возможно, запятыми), в определенный объект:
* @method fromPath
* @param {string} path
* @param {body} body
* @return {vertices} vertices
*/
Vertices.fromPath = function(path, body) {
var pathPattern = /L?\s*([\-\d\.e]+)[\s,]*([\-\d\.e]+)*/ig,
points = [];
path.replace(pathPattern, function(match, x, y) {
points.push({ x: parseFloat(x), y: parseFloat(y) });
});
return Vertices.create(points, body);
};
Позже происходит вызов этой функции, когда в Vertices.fromPath передается следующая строка:
vertices: Vertices.fromPath('L 0 0 L ' + width + ' 0 L ' + width + ' ' + height + ' L 0 ' + height)
Где width
и height
числа. Какова цель символа L
? Я думал, что этот метод должен разбивать пары x, y, разделенные запятыми или пробелами, на числа, поэтому я не могу понять актуальность символа L
.
Кто-нибудь может просветить меня?