问题标签 [generic-function]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在 Startup.cs 中添加服务时关于 ASP.NET Core 中 C# 模式的问题
关于此代码来配置服务:
特别是这一行:
如果 AddSingleton 不是像代码片段中那样是一个具有 0 参数的通用函数,是否会有任何语义差异
function - Common Lisp 中的类型化 lambda 函数
我不知道这有什么实际用途,我只是想到是否有任何东西可以与defmethod
fordefun
相媲美lambda
?像这样的东西
list - Create generic extension to make a deep copy of a List with Data Class
Hi I'm trying to create a generic function to make a deep copy of list using the copy() method that a Data class provide us.
I'm using the method that I found on other post which returns a list of objects being deep copied:
listDataClass.map{ it.copy() }
But I can't seem to know how to make it as a generic function for data class so I'm really curious to see how'd you make one like this.
c# - 抽象泛型函数实现
我在使用抽象泛型方法时遇到问题。
抽象方法定义
执行
我在覆盖函数中遇到了 EUser 类的问题。该函数似乎将 EUser 视为 Generic T 仍然只有 BaseEntity 函数可用。ERole 是另一个实现 BaseEntity 的类,我能够在函数中使用该实体的全部功能。如果我想使用 EUser,每次我想使用不在它的父 BaseEntity 中的函数时,我都必须将它类型转换为 EUser。我的目标是将数据读取器传递给子类并让它填写必要的信息,但这很麻烦。我不想花费大量开销类型来转换子类中的所有内容。
这与泛型类不同。如果我实现一个子泛型类,我可以将 EUser 指定给父类,并且仍然具有该实体的全部功能。
有没有其他人对此有疑问,或者我是否错误地实现了抽象泛型函数?
父函数是这样开始的:
然后父类像这样调用函数:
问题必须是 T 用于生成子类方法,因此即使子类方法只会接受和使用 EUser。它仍然将其视为方法中的 Generic T。你们有什么建议吗?
这都是因为我有一个 Parent 类,它有几个我不想与任何子类共享的私有字段。通用方法 InitEntity 使用其中一些私有字段。因此,我正在使用通用方法。我可能只需要重新考虑我的实现并解决子泛型类。
编辑:
看起来在 C# 中的通用方法中,变量类型是在调用函数时定义的。如果没有主要的类型转换,您似乎无法在函数级别进一步定义该类型。如果您尝试像我一样在子类函数中实现类型,一切都会编译并运行,但是您在子类中的类型仍将被视为传入的类型。对于上面定义的问题,我只需要将泛型更改为类级别,而不仅仅是功能。做一个抽象的泛型函数。子函数需要保留传入的泛型 T,然后在函数体中进行类型转换。
typescript - 如何在函数中具有必需和可选类型参数,并且仍然具有用于记录查找的工作类型推断?
如何使Y
函数中的必需类型参数与另一个类型参数一起工作,K
后者仅用作记录R = {a: 'aaa', b: 'bbb'}
查找中的键并且不应该显式提供?类型参数K
应该从函数的第一个参数的值推断k
出来foo
。然后我想K
用来查找一个类型,R
以便我可以将它用于函数的其他参数。
为了只允许需要第一个类型参数Y
,K
参数需要有一个默认值。但是这个默认值打破了R[K]
when 的推断,而不是根据k
ieR[typeof k]
的值推断"aaa"
if k
was "a"
,它使用默认的K
ieR[keyof R]
解析为记录中所有类型的联合,R
即"aaa" | "bbb"
忽略k
。
是否可以在没有显式传递的情况下从值解析y: R[keyof K]
where的类型推断,但仍然允许所需的类型参数?K
k
K
Y
我只能通过对函数进行柯里化来使其工作,因此每个类型参数都属于一个单独的函数:
typescript - 泛型函数参数仅限于 T 的属性
我有一个uniqBy
这样定义的函数:
这会根据输入数组强类型化我的返回值,但我也希望key
参数是强类型化的,这样如果我尝试传入不存在的属性时会出现编译时错误T
。当前使用示例:
_checkups
是以下数组:
如果尝试执行以下操作,我希望它:
给了我一个编译时错误(以及属性完成时的 IntelliSense)。key
为了做到这一点,我将如何在参数中定义?
这将返回一个只有唯一值的项目数组(在重复的情况下CatDescription
使用第一个对象)。CatDescription
我不知道这叫什么,它不是Predicate<T>
用于过滤并返回布尔值的。
amazon-web-services - 如何在 AWS 胶水中使用从一个胶水脚本到另一个胶水脚本的函数
我有一个 AWS 胶水 pyspark 脚本,例如 scriptA.py。在这个脚本中,我定义了一些通用函数,例如 readSourceData()
def readSourceData(参数1,参数2):
//函数逻辑
现在我想在我的 secong glue pyspark 脚本 scriptB.py 中使用这个通用函数。
我有很多这样的通用功能。如何导入这些函数并在其他脚本中使用它们?
typescript - 如何制作一个接受返回自定义接口的特定属性的通用函数
我想定义一个接受任何类型或通知对象的通用函数。这个对象有一个method
属性。该函数应该接受任何具有方法属性的输出,并且每个输出都有自己的方法类型。我需要返回一个类型,这是类:
但是函数中有一个打字稿错误:
输入'{时间戳:数字;方法:T;}' 不可分配给类型 'U'。'U' 可以用与 '{ timestamp: number; 无关的任意类型实例化。方法:T;}'.ts(2322)
java - 用整数隐藏类型泛型函数类型参数
为什么以下成功将 ArrayList 发送到 List?
我知道类型擦除,并且所有通用列表基本上都是运行时的 Object 列表。
究竟是什么
以我的 C++ 经验,起初我认为这是模板函数专业化。
我是否只是用 Integer 这个词隐藏了参数类型名称(例如 T),而这实际上是一个与 Integer 无关的通用函数?如果是这样,为什么允许使用名为“整数”的类型参数进行隐藏?
kotlin - 如何将不可为空的类型传递给具有可空参数的函数?
可以检查可空类型并将其强制转换为不可空类型,但反之则非常困难。
例如:
在我的例子中,我说的是一个带有 Array 参数的函数,其中的内容可以为空,但我要传递给函数的 Array 的内容是不可为空的。这不起作用:
我的问题是如何使这项工作?
我可以将数组转换为可为空的数组,但我不确定这是否是正确的方法。