问题标签 [proc]
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.
ruby - 何时使用 lambda,何时使用 Proc.new?
在 Ruby 1.8 中,一方面 proc/lambda 之间存在细微差别,另一方面Proc.new
。
- 这些区别是什么?
- 你能就如何决定选择哪一个提供指导吗?
- 在 Ruby 1.9 中,proc 和 lambda 是不同的。这是怎么回事?
ruby - 将过程作为块提供给方法
假设我有以下数组:
我想找到最小元素,比较元素的第二个元素。最小元素将是[5, 1]
因为1
小于7
。我可以使用以下代码:
为了计算最大值,我可以这样做:
这给了[2, 7]
.
我一直使用同一个块。我想把那个块放在某个地方并将它提供给 min/max 函数。我希望是这样的:
会工作,但它没有。关于我如何做到这一点的任何想法?
ruby - 为什么我们需要纤维
对于 Fibers,我们有经典的例子:生成斐波那契数
为什么我们在这里需要纤维?我可以用相同的 Proc 重写它(实际上是关闭)
所以
和
将返回相同的结果。
那么纤维有哪些优点呢。我可以用 Fibers 写哪些我不能用 lambdas 和其他很酷的 Ruby 功能写的东西?
android - 为什么我无法通过 Android ICS 中的 FileReader 正确读取 /proc/net/xt_qtaguid/stats
我想在 Android ICS 中读取 /proc/net/xt_qtaguid/stats,它记录了所有接口和应用程序的流量统计信息。以下是代码片段:
如果我 cat 这个文件,它将显示:
idx iface acct_tag_hex uid_tag_int cnt_set rx_bytes rx_packets tx_bytes tx_packets rx_tcp_bytes rx_tcp_packets rx_udp_bytes rx_udp_packets rx_other_bytes rx_other_packets tx_tcp_bytes tx_tcp_packets tx_udp_bytes tx_udp_packets tx_other_bytes tx_other_packets
2 rmnet0 0x0 0 0 6266 105 8882 121 1428 30 4838 75 0 0 208 4 2552 44 6122 73
3 rmnet0 0x0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
4 rmnet0 0x0 1000 0 0 0 2262 39 0 0 0 0 0 0 0 0 2262 39 0 0
5 rmnet0 0x0 1000 1 0 0 290 5 0 0 0 0 0 0 0 0 290 5 0 0
6 rmnet0 0x0 10004 0 1000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
7 rmnet0 0x0 10004 1 20177 36 7037 81 20177 36 0 0 0 0 7037 81 0 0 0 0
而且我发现 NetworkStatsFactory.java(Android original class) 也读取了这个文件并使用了相同的方法。我尝试使用这个类,它也无法正确读取:
谷歌工程师是否犯了同样的错误?:)
ruby - 将方法从一个类复制到另一个类
我想用一些方法编写小类,这些方法实际上属于其他类,那么如何在其他类中定义现有副本的方法。我相信这是我不明白的元编程魔术师。
为什么我需要这个?我正在研究仅用三种方法上课的 gem。在初始化(将隐藏在父类中)时,它将将此方法传递给不同的类。我可以用块来做这个,但是用方法它就更干净了。
PS:这就像将方法从一个类复制到另一个类
PSS:或者......如何将方法转换为proc,所以我可以将它传递给class_eval
c++ - GDB 无法插入内部断点
我在一个共享库 (.so) 的函数中添加了两个断点,然后运行gdb 7.4
并将其附加到一个进程。
gdb打断点,我跑n
了几步,gdb报如下错误(加粗):
(gdb) b [函数名称]
0xf1f28a49 处的断点 1:文件 ../../../../../[文件名].cpp,第 167 行
。0xf1f2dae5 处的断点 2:文件 ../.. /../../../[文件名].cpp,第 60 行
。警告:设置了多个断点。
使用“delete”命令删除不需要的断点。
(gdb) c
继续。
[新线程 0xcaafab90 (LWP 28480)]
[线程 0xcaafab90 (LWP 28480) 退出]
[新线程 0xcaafab90 (LWP 29558)]
[新线程 0xc8cb6b90 (LWP 29980)]
[切换到线程 0xc8cb6b90 (LWP 29980)]
断点 2函数名] (ostr=..., clientResponse=..., httpProtocol=..., >reqType=...) 在 ../../../../../[文件名]。 cpp:60
60 ../../../../../[文件名].cpp:没有这样的文件或目录。
在 ../../../../../[文件名].cpp
(gdb) ni
0xf1f2daed 60 在 ../../../../../[文件名].cpp
(gdb) n
断点 1, [函数名] (ostr=..., clientResponse=..., httpProtocol=..., >closeConn=..., asynchResponse=..., reqType=...)
在../../../../../[文件名].cpp:167
167 in ../../../../../[文件名].cpp
(gdb) n
警告:
无法插入断点 0。
访问内存地址 0x36cc6dde 时出错:输入/输出错误。 /lib/libc.so.6 (gdb)
中的 siglongjmp () 中的 0xf7082771
这是来自的输出/proc/[PID]/maps
:
08048000-08146000 R-XP 000000 08:03 293876
08146000-08150000 RW-P 000FE000 08:03 293876
08150000-099C8000-099C8000 RW-P -P 08150000 0000 0000 000 000 000 000 000 000 c21 c21 c21 c21f9 hea c21f9 hea c21f9 hea c21f9 hea c21 c21f9 hea
c21f9 heae c29fa000 rwxp c21fa000 00:00 0 c29fa000-c29fb000 ---p c29fa000 00:00 0 ……<br> f1e1b000-f1e24000 rw-p f1e1b000 00:00 0 f1e24000-f2093000 r-xp 00000000 08:03 295549 .so f2093000- F2094000 --- P 0026F000 08:03 295549 .SO F2094000 -F2098000 R-P 0026F000 08:03 295549 .SO F2098000 -F209C000 RW-P-P 00273000 08:03 295549 .SO F209C000 F209C000 C209C000 C209CCC 000 cc.
我的问题是:
Gdb 无法为命令插入内部断点,但是如果文本部分位于
ni
,为什么它会尝试访问地址?如您所见,该地址不包含在映射的输出中。0x36cc6dde
0xf1******
更一般的问题,有人告诉我共享库开始于
0x40000000
但为什么在我的环境中不是这种情况?
共享库是用-fPIC
. 我在上面的痕迹中隐藏了一些符号名称。
java - 随着时间的推移,Java 应用程序变得越来越慢
我有一个使用 JNI 调用 Java 模块的 Pro*C 应用程序。当它连续运行一两天时,应用程序性能正在下降。内存使用量保持在可接受的范围内。你能指导我如何调查性能问题吗?
ruby - 了解proc类
我正在学习 Ruby Proc 课程。我不明白为什么要执行“def state =”方法。
我也想知道为什么“t1.state = 1”以“def state=(1)”结尾
我不明白 "def state" 和 "def state=" 之间的区别?
我可以理解这个连接“&proc>proc>proc.call”。
namespaces - 如何在 tcl 命名空间中定义一个 proc
我在 TCL 中看到了一些这样的代码:
命名空间::info中定义了三个变量,但是命名空间中没有声明三个procs(setcount setId setRole),似乎它们是在::info之外定义的,是否允许?这是如何运作的?
ruby-on-rails - 什么时候块比函数(红宝石)更有用?
我有两个给出相同结果的例子。
带块:
并使用方法:
第二种解决方案似乎更直接,但我在我们的应用程序代码中发现了第一种的一些用法。我的问题是:在哪种情况下推荐第一个?各有什么优缺点?