Rect.map(): 文档有误吗?
Rect.map(): is the documentation wrong?
在 Mozilla 的矩形文档 class Rect
中,他们提到的函数之一是 map()
函数,它以一个函数作为参数。函数的描述是:
Calls a specified function on each of the left, right, top, and bottom values of the rectangle.
但是矩形的固有属性是x
、y
、width
、height
。虽然可以轻松计算矩形的 "right" 和 "bottom",但 map
函数会修改计算值而不是 Rect
的实际属性,这似乎很奇怪目的。这是文档中的错字吗? 不会那么奇怪;单独查看文档的那一页时,我发现了其他几个小错别字,但这一个实际上影响了函数的工作方式。由于 Rect
class 不是要实例化的,我也不知道如何测试 Mozilla 的代码来自己检查。
我了解映射函数的概念及其作用,但我不经常使用它们,所以这可能就是它们通常的工作方式。 对四个相同类型的值(左、上、右、下:位置)而不是两个(x,y:位置)调用相同的函数是有意义的) 和另外两个 (宽度, 高度: 数量).
通过在DXR上查找Rect对象,文档似乎是correct。
通过做一些codeaeology(我编造了这个词,code+archeology :-D),我发现map函数是用bug 520910引入的。审稿人似乎并不关心使用 right
和 bottom
代替 height
和 width
.
意见:我敢说映射四个相同类型的值(左、上、右、下:位置)是有意义的,正如您所说.这甚至更有意义,因为 width
和 height
仅用于初始化 Rect
:right
和 bottom
总是被使用 internally .
专业提示:如果您想查看 Mozilla 的代码,可以使用 DXR 看一眼代码(甚至可以快速搜索!) .
在 Mozilla 的矩形文档 class Rect
中,他们提到的函数之一是 map()
函数,它以一个函数作为参数。函数的描述是:
Calls a specified function on each of the left, right, top, and bottom values of the rectangle.
但是矩形的固有属性是x
、y
、width
、height
。虽然可以轻松计算矩形的 "right" 和 "bottom",但 map
函数会修改计算值而不是 Rect
的实际属性,这似乎很奇怪目的。这是文档中的错字吗? 不会那么奇怪;单独查看文档的那一页时,我发现了其他几个小错别字,但这一个实际上影响了函数的工作方式。由于 Rect
class 不是要实例化的,我也不知道如何测试 Mozilla 的代码来自己检查。
我了解映射函数的概念及其作用,但我不经常使用它们,所以这可能就是它们通常的工作方式。 对四个相同类型的值(左、上、右、下:位置)而不是两个(x,y:位置)调用相同的函数是有意义的) 和另外两个 (宽度, 高度: 数量).
通过在DXR上查找Rect对象,文档似乎是correct。
通过做一些codeaeology(我编造了这个词,code+archeology :-D),我发现map函数是用bug 520910引入的。审稿人似乎并不关心使用 right
和 bottom
代替 height
和 width
.
意见:我敢说映射四个相同类型的值(左、上、右、下:位置)是有意义的,正如您所说.这甚至更有意义,因为 width
和 height
仅用于初始化 Rect
:right
和 bottom
总是被使用 internally .
专业提示:如果您想查看 Mozilla 的代码,可以使用 DXR 看一眼代码(甚至可以快速搜索!) .