function Tags.get_forward_backward_by_key(way,data,key)
local forward = way:get_value_by_key(key .. ':forward')
local backward = way:get_value_by_key(key .. ':backward')
if not forward or not backward then
local common = way:get_value_by_key(key)
if (data.oneway) then
if data.is_forward_oneway then
forward = forward or common
end
if data.is_reverse_oneway then
backward = backward or common
end
else
forward = forward or common
backward = backward or common
end
end
return forward, backward
end
我正在阅读此代码,不容易理解。我想知道“:”是什么意思,“ data.oneway”是什么意思?任何参考,不胜感激。
编辑:我刚刚了解到这是一种称为面向对象调用的特殊语法。像o:foo(x)这样的表达式只是编写o.foo(o,x)的另一种方式,即调用o.foo,将o作为第一个额外的参数添加。