问题标签 [return-value]
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.
linux - 当操作系统杀死你的进程时返回代码
我想测试是否通过多个进程我能够在 32 位操作系统上使用超过 4GB 的内存(我的:带有 1GB 内存的 Ubuntu)。
因此,我编写了一个 malloc 略小于 1GB 的小程序,并对该数组执行了一些操作,并运行了该程序的 5 个实例 vie forks。
问题是,我怀疑操作系统杀死了其中的 4 个,只有一个幸存下来并显示它是“PID:我已经完成”)。
(我用小数组尝试过,打印了 5 次,当我用 TOP 查看正在运行的进程时,我只看到一个实例..)
奇怪的是 - 我在所有实例中都收到了返回代码 0(成功?),包括那些据称被操作系统杀死的实例
我没有得到任何说明进程被杀死的消息。
这个返回码在这种情况下正常吗?
(如果是这样,它会降低我对“返回码”的信任......)
谢谢。
编辑:一些答案暗示了小程序中可能存在的错误,所以在这里。分叉和保存返回码的较大程序较大,我无法在这里上传它,但我认为(并希望)它很好。
我还注意到,如果不是使用我的分叉程序运行它,而是使用终端运行它,使用 './a.out & ./a.out & ./a.out & ./a.out &' (当./a.out 是附加的小程序的二进制文件)我确实看到了一些“Killed”消息。
matlab - 如何优雅地忽略 MATLAB 函数的某些返回值
是否可以从函数中获取“第 n 个”返回值,而不必为n-1
之前的所有返回值创建虚拟变量?
假设,我在 MATLAB 中有以下函数:
现在假设,我只对第三个返回值感兴趣。这可以通过创建一个虚拟变量来完成:
但我认为这有点丑陋。我认为您可能可以执行以下操作之一,但您不能:
[_, _, variableThatIWillUse, _] = func;
[, , variableThatIWillUse, ] = func;
variableThatIWillUse = func(3);
variableThatIWillUse = func()(3);
有什么优雅的方法可以做到这一点吗?
到目前为止,最好的解决方案是简单地将variableThatIWillUse
用作虚拟变量。这使我不必创建一个真正的虚拟变量来污染工作空间(或者我需要清除)。简而言之:解决方案是使用variableThatIWillUse
for 每个返回值,直到有趣的返回值。之后的返回值可以简单地忽略:
我仍然认为这是非常丑陋的代码。
return-value - 如何处理 ANTLR 中的列表返回值
在 ANTLR 中解决此问题的正确方法是什么:
我有一个简单的语法规则,比如一个包含任意数量元素的列表。
如果我想为列表分配一个返回值,并且该值是生产中返回值的实际列表,那么正确的方法是什么?我正在娱乐的替代方案是:
- 在全局范围内创建我自己的堆栈以跟踪这些列表
- 尝试检查我下面的树节点并以这种方式提取信息
- 以某种巧妙而酷炫的方式访问它,我希望能找到我可以从与规则相关联的操作中轻松访问此类列表的方法。
我想问题是:酷孩子是怎么做到的?
(仅供参考,我正在使用 ANTLR 的 python API,但如果你用另一种语言打我,我可以处理)
return-value - 异常,返回,可序列化,
( throw Exception
) 和 ( return value
) 如何在 Java 或 C# 等语言中实现?我想知道它的支持如何包含在语言中的机制,而不仅仅是try { .... } catch (Exception) {}
.
我们知道什么时候调用一个函数,即
然后 on 调用被放入堆栈,当方法返回时调用doSomething
on stack 弹出。
在 return 语句返回一个值的情况下会发生什么,比如说return 4;
,doSomething()
堆栈上的调用弹出,并且 Prog 计数器上的下一条语句得到处理?返回值发生了什么?它在哪里保存以及如何使用?
类似地,在抛出异常的情况下,throw ex;
语句在堆栈上找到适当的catch
语句,直到找到它,它才会不断从堆栈中弹出东西……这个机制是如何工作的?
c# - C#:为方法嵌套返回“this”?
我有一门课,我必须多次调用一两个方法。当前返回的方法void
。我在想,最好让它 return this
,以便方法可以嵌套?或者这被认为是非常非常非常糟糕?或者如果不好,如果它返回一个相同类型的新对象会更好吗?或者你怎么看?例如,我创建了三个版本的加法器类:
第一个可以这样使用:
其他两个可以这样使用:
唯一的区别是,a
在第一种情况下是new Adder()
后者,而在后一种情况下,它是最后一种方法的结果。
第一个我发现它很快就变得......一遍又一遍地写很烦人。所以我想使用其他版本之一。
第三种工作方式与许多其他方法类似,例如许多 String 方法和 IEnumerable 扩展方法。我想这有其积极的一面,你可以做类似的事情var a = new Adder(); var b = a.Add(5);
,然后一个是 0,一个是 5。但与此同时,一直创建新对象不是有点贵吗?第一个物体什么时候会死?第一种方法什么时候返回?或者?
无论如何,我喜欢返回this
并认为我会使用它的那个,但我很想知道其他人对此案的看法。什么被认为是最佳实践。
c++ - 在 C++ 中将值作为常量、引用和常量引用返回的含义是什么?
我正在学习 C++,但我仍然对此感到困惑。在 C++ 中将值作为常量、引用和常量引用返回的含义是什么?例如:
c# - String 或 StringBuilder 返回值?
如果我在方法中使用 StringBuilder 对象构建字符串,是否有意义:
返回 StringBuilder 对象,让调用代码调用 ToString()?
或通过自己调用 ToString() 返回字符串。
我想如果我们返回小字符串或大字符串会有所不同。在每种情况下什么是合适的?提前致谢。
编辑:我不打算进一步修改调用代码中的字符串,但好点 Colin Burnett。
主要是返回StringBuilder对象还是字符串更有效?会返回对字符串的引用还是副本?
programming-languages - 为什么大多数编程语言对 4 的平方根只给出一个答案?
大多数编程语言都会给出2
平方根的答案4
。但是,有两个答案:2
和-2
。是否有任何特殊原因,历史原因或其他原因,为什么通常只给出一个答案?
c++ - 我怎样才能返回一个数组?
有没有办法从函数返回数组?更具体地说,我创建了这个函数:
我需要一种方法来返回bin[]
。