Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 对于可以是标量或数组的值,技术术语是什么?_Arrays_Typescript_Naming - Fatal编程技术网

Arrays 对于可以是标量或数组的值,技术术语是什么?

Arrays 对于可以是标量或数组的值,技术术语是什么?,arrays,typescript,naming,Arrays,Typescript,Naming,我正在使用这种格式,它的概念是数据属性,可以保存标量(单个)或数组(多个)值。我正在编写编码和解码的代码,在命名我的类型时,我试图为这些类型的值取一个好名字。在TypeScript中,它将是 type Poly<T> = T | T[]; type Poly=T | T[]; 以下是JSON API文档的相关部分(我的重点): 主数据必须是或: 单个资源对象、单个资源标识符对象或null,用于针对单个资源的请求 资源对象的数组、资源标识符对象的数组或以资源集合为目标的请求的空数组

我正在使用这种格式,它的概念是
数据
属性,可以保存标量(单个)或数组(多个)值。我正在编写编码和解码的代码,在命名我的类型时,我试图为这些类型的值取一个好名字。在TypeScript中,它将是

type Poly<T> = T | T[];
type Poly=T | T[];
以下是JSON API文档的相关部分(我的重点):

主数据必须是
单个资源对象、单个资源标识符对象或null,用于针对单个资源的请求
资源对象的数组、资源标识符对象的数组或以资源集合为目标的请求的空数组([])

例如,以下是此类突变值的映射函数:

function polymap<T, U>(data: Poly<T>, fn: (input: T) => U, thisArg?: any): Poly<U> {
  if (data instanceof Array) return (data as T[]).map(fn, thisArg);
  return fn.call(thisArg, data as T);
}
函数polymap(数据:Poly,fn:(输入:T)=>U,thisArg?:any):Poly{ if(数组的数据实例)返回(数据为T[]).map(fn,thisArg); 返回fn.call(thisArg,数据为T); }
不管怎样,正如你所看到的,我将使用“poly”,但是有没有关于这个的固定术语,或者其他好的建议?

首先,标量和数组之间的区别不是元素的数量,而是维度。

标量是数组。具体来说,它们是0维数组。所以你只需要调用所有的数组

但请注意,通常重点不是变量可以保存哪些值,而是允许对变量的潜在值执行哪些操作

有些操作可以从1个元素概括为N个元素,这似乎是您想要的

这种操作的CS-y术语是一种“矢量化操作”。

这种操作的数学术语是“.”

我从来没有听说过类似的事情,从这里显示的可用JSON数据类型来看 不要提及任何与此类数据类型相关的内容,我打赌这只是幕后实现的烟雾和镜像

标量值和数组的结构非常不同。将两者结合成一种真正的数据类型是自相矛盾的。我敢打赌,当变量被实例化时,会在某个地方调用一个方法来检查数组或标量值的值,此时会发生两件事之一。1-数据类型自动设置为数组,如果给定标量,则将其转换为长度为1的数组,并且每当在幕后调用时,都会在索引0处访问数组。或2-幕后方法检查传入的数据类型,并在实例化实际发生之前为给定的变量设置相同的数据类型

如果垄断Mohn-O-Pohl-E(如果您愿意的话,因为我找不到任何其他名称来调用它,它看起来像垄断)是一个标量,并且在某个点上被设置为数组数据类型,那么旧值可以被销毁,新值可以被指定为相同的名称,但作为数组。这可能发生,反之亦然,所有这些都可以在幕后完成,使此数据类型看起来包含标量和数组的描述

这类商品或其他商品是否有既定的术语 建议

我将忽略“已建立的术语”,也可能忽略“好的”,并在语言学的基础上提出以下建议。我个人的选择是,由于它有一个或多个横档的感觉,并且它是标量的拉丁起源,我个人的选择是:

阶梯

另一个可能的名词:

集合

像常量一样,我认为下列形容词已经成熟成为名词:

不稳定的(类似于尿失禁,“自愿控制不足”,这似乎就是您在API问题上所描述的。)

可转让

不明确(与不明确谐音)

两用

多用途(我们学校喜欢的形容词)

这甚至可能是一个创造新词的机会:

多一元


versutility(我的第二个最爱)

当另一个元素“添加”到插槽中时,这种功能可能会用数组替换标量。好了,没有这个术语,所以这个问题看起来更像是一个英语问题

试试这些:

  • 弹性标量
  • 可扩展标量
  • scarray(标量/数组)
  • scalarray(另一个portmanteau)
  • 可排列
  • (比表面上看起来的要多)

我相信TypeScript术语是来自计算机科学-union type的术语。当然,联合类型指的不仅仅是T | T[]是的,我知道联合类型,我在为这个特殊的案例寻找一些东西。有趣的是,这种类型的问题不会得到“没有确定的术语”的答案,即使它是正确的答案。如果这个词存在,有人会回答,但如果不存在,人们怎么能确定它不存在,而不是不知道它呢我想不出一个名字,但更重要的是,这是一个很糟糕的做法,它会引入复杂性并欺骗api用户。只需发送一个由1个元素组成的数组即可。@AlexG我原则上同意,但标量或数组的概念已经融入到我正在处理的API中。“标量是数组。具体来说,它们是0维数组。”---出于好奇,它从何而来?@zerkms:什么从何而来?标量值实际上是0d数组的说法。这里不是类型系统/CT专家,但我觉得很奇怪。谢谢你的见解。作为一个术语,虽然理论上标量实际上是0维数组,但将标量数组称为数组似乎很奇怪,而且可能会产生误导。我们可以吗