问题标签 [implicit]

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.

0 投票
1 回答
1611 浏览

c++ - 如何定义从我的类到标量的隐式类型转换?

我有以下代码,它使用我正在编写的库中的 Unicode 字符串类:

ustring 类实例的 encode 方法将内部 Unicode 转换为 UTF-8 char *。但是,因为我无权访问 char 类定义,所以我不确定如何定义隐式类型转换(这样我就不必在与 printf 等一起使用时手动调用编码)。

0 投票
3 回答
2189 浏览

c# - C# 隐式数组声明

基本上,我希望能够在string.Split(char[])不实际将 char 数组定义为单独变量的情况下使用。我知道你可以用其他语言做类似string.split([' ', '\n']);的事情。我将如何在 C# 中执行此操作?

0 投票
7 回答
7900 浏览

c# - 如何创建一个可以返回双精度或十进制的通用 C# 方法?

我有这样的方法:

是否可以使它成为像“type T”这样的泛型类型,它可以返回十进制或双精度,具体取决于预期方法的类型(或放入函数的类型?)

我尝试过这样的事情,但我无法让它工作,因为我无法将像“1”这样的数字分配给泛型类型。之后我也尝试使用“where T :”,ushort capacity)但我仍然无法弄清楚。

这甚至可能吗?我不确定,但我认为这篇文章可能表明我正在尝试做的事情是完全不可能的。


编辑

感谢所有回复的人,很多很好的答案。正如Tomas所指出的,这可能最好通过两种不同的方法来完成。正如TreDubZeddTcKs所指出的,获得我想要的功能的最佳方法是使用可以隐式返回双精度或小数的隐式转换。

0 投票
3 回答
307 浏览

perl - 嵌套子例程中的 File::Find 和 $_

运行以下代码时,将打印 C:\Test 下面所有文件的文件名。为什么它不只打印Hello(n 次,取决于处理了多少文件)?

这是否意味着我不能依靠shift可靠地分配给$_?想象一下,一个同事实现了这个wtf函数,但不知道它是从一个File::Find 想要的sub 调用的。我用 Strawberry Perl 5.12 运行这段代码

编辑:此代码也没有按预期运行:

所以我想我在这里完全不在高速公路上。这显然与 File::Find 无关,我现在正在为这个问题寻找一个新标题。这是我的原始代码:

0 投票
3 回答
2484 浏览

sql-server - ADO.NET 僵尸事务错误?如何确保命令不会在隐式事务上执行?

例如,当死锁发生时,后面的 SQL 命令会成功执行,即使它们已经分配了回滚后的 SQL 事务。看来,它是由在 SQL Server 上创建的新隐式事务引起的。

有人可能期望 ADO.NET 会抛出一个异常,即命令正在僵尸事务上执行。但是,不会引发此类异常。(我认为这是 ASP.NET 中的一个错误。)此外,由于僵尸事务,最终会Dispose()默默地忽略回滚。

任何想法,我如何确保没有人可以对隐式事务执行命令?或者,如何检查交易是僵尸?我发现Commit()Rollback()检查了僵尸交易,但是我可以打电话给他们进行测试:)

我还发现阅读 IsolationLevel 也会进行检查,但我不确定transaction.IsolationLevel.ToString();未来的优化器是否不会删除简单的调用。或者您知道任何其他安全方式调用 getter(不使用反射或 IL 发射)吗?

编辑:Remus Rusanu 指出这种情况通常不会发生。是的,这是真的。它通常发生在代码中存在错误时。在我们的例子中,finally 语句中有一些日志记录例程试图将失败存储到数据库中。现在,我正在尝试找到一种解决方案,以便将来检测此类错误。由于这些错误很难测试。如果 ADO.NET 会检查提供的事务是否为僵尸,则更容易发现此错误。我发现了两种可能性:

  1. 关闭隐式事务的创建 - 我不确定这是否可能。
  2. 确保在执行任何命令之前,检查僵尸事务将运行。
0 投票
4 回答
2655 浏览

c# - 如何将另一个结构隐式转换为我的类型?

事实上MyClass x = 120;,是否可以创建这样一个自定义类?如果是这样,我该怎么做?

0 投票
3 回答
4762 浏览

c# - 如何将我的类隐式转换为另一种类型?

例如隐式

0 投票
3 回答
1283 浏览

ruby - Ruby 中的隐式返回值是怎么回事?

所以我开始研究 ruby​​,很多东西看起来都不错,但我被隐式的 return 语句吓到了。我理解默认情况下让所有内容都返回 self 或 nil 但不是语句的最后一个值。

对我来说,它看起来非常脆弱(特别是),如果您正在使用不打算返回某些东西的方法(特别是改变状态/破坏性方法的函数!),其他人可能最终依赖于不重要的返回达到方法的目的,并且有很大的改变机会。

隐式返回有什么意义?有没有办法让一些事情变得更简单?

总是有回报以防止隐性回报被认为是一种好的做法吗?

我是不是很担心这个?

PS 当人们想要从一个方法返回某个东西时,他们是否经常使用隐式返回,这不是让你组中的其他人更容易破坏彼此的代码吗?当然,记录一切并给出你可能会说的有意义的名字,但人们在现实生活中并不总是这样做。

0 投票
1 回答
247 浏览

scala - 如何对我的解释器中使用的类型进行隐式转换

我正在编写一个解释器,并尝试使用从how-to-set-up-implicit-conversion-to-allow-arithmetic-between-numeric-types 解决我需要能够添加 Boolean + Boolean, Int 的相同问题+ 布尔值、布尔值 + 整数、整数 + 双精度、双精度 + 双精度等。

所以我使用了该解决方案中的 WeakConformance 和 C 类

这是我的翻译的一部分

错误是这样的

错误:不明确的隐含值:// 显示 2 最后一个在Numerictrait 中声明为隐式的对象与预期类型匹配Numeric[WeakLub]

任何想法如何使它工作?我想让 eval 方法返回C,但因为C[Int]它不是它的实例C[Any]并不能解决我的问题

0 投票
1 回答
3069 浏览

python - 在 Python 中查找隐式函数的根

我有一个隐式函数,例如:

我想解决网格上的根问题。所以 f(x,y) = 0

绘制解决方案很容易:

这很好用,我有一张我需要的曲线图,但是我想拥有图中的数据,而不仅仅是视觉图。那么如何找到绘图的数据呢?