小编Adr*_*ian的帖子

迭代数组时如何使用Array#delete?

我有一个数组,我想迭代并删除一些元素.这不起作用:

a = [1, 2, 3, 4, 5]
a.each do |x|
  next if x < 3
  a.delete x
  # do something with x
end
a #=> [1, 2, 4]
Run Code Online (Sandbox Code Playgroud)

我想a成为[1, 2].我怎么能绕过这个?

ruby arrays iteration

65
推荐指数
3
解决办法
4万
查看次数

"extend self"和"module_function"一样吗?

extend self并且module_function是两种红宝石方法,因此您可以在模块上调用方法,如果包含该模块也可以调用它.

这些方式的最终结果之间是否存在差异?

ruby module

41
推荐指数
1
解决办法
8181
查看次数

'asm','__ asm'和'__asm__'有什么区别?

据我所知道的,唯一的区别__asm { ... };,并__asm__("...");是第一个使用mov eax, var第二个使用movl %0, %%eax:"=r" (var)结尾.还有什么其他差异?那又怎么样asm

c assembly gcc inline-assembly visual-c++

33
推荐指数
4
解决办法
2万
查看次数

使用C TCP套接字,可以'发送'返回零吗?

send使用TCP套接字时,C 函数是否可能返回零?手册页只是说它将返回发送的字节数,但我不确定它是否只会在无法发送任何数据时返回-1.

c sockets tcp return-value send

16
推荐指数
2
解决办法
2万
查看次数

我应该#include使用'htonl'?

我想htonl在我的ruby c扩展中使用该函数,但不想使用随附的任何其他互联网内容.什么是最简约的文件#include仍然可移植?浏览我计算机上的头文件,我可以看到machine/endian.h或者sys/_endian.h让我使用它们,虽然我不确定这是不是一个好主意.

c include endianness

14
推荐指数
2
解决办法
2万
查看次数

对于非GNU链接器,是否有与GNU链接器"--just-symbols"相同的选项?

-R文件名

--just符号=文件名

文件名中读取符号名称及其地址,但不要将其重新定位或将其包含在输出中.这允许您的输出文件以符号方式引用其他程序中定义的内存的绝对位置.您可以多次使用此选项.

例如,在我的Mac上,ld -R libsomething.a甚至gcc -Wl,-R,libsomething.a不起作用.

c macos linker symbols gnu

14
推荐指数
1
解决办法
916
查看次数

是否有一种非混乱的方式来链接返回Option值的函数的结果?

我有一些看起来像这样的代码:

f(a).and_then(|b| {
    g(b).and_then(|c| {
        h(c).map(|d| {
            do_something_with(a, b, c, d)
        })
    })
})
Run Code Online (Sandbox Code Playgroud)

Where f,gh返回Option值.我需要使用所有的中间值(a,b,c,和d在)do_something_with计算.压痕非常深.有一个更好的方法吗?理想情况下它看起来像这样(当然这不起作用):

try {
    let b = f(a);
    let c = g(b);
    let d = h(c);
    do_something_with(a, b, c, d)
} rescue NonexistentValueException {
    None
}
Run Code Online (Sandbox Code Playgroud)

nullable optional rust

8
推荐指数
2
解决办法
1961
查看次数

在Windows/mingw上,相当于`fcntl(fd,F_GETFL)| O_ACCMODE`?

我正在使用Mingw在Windows上编译程序.如何获取打开文件描述符的访问模式?

c windows mingw file-descriptor

7
推荐指数
1
解决办法
7249
查看次数

测试类型是否是Idris中的函数类型

我想要一个函数来确定一个类型是否是一个函数类型,如下所示:

isFunction : Type -> Bool
isFunction (a -> b) = True
isFunction _ = False
Run Code Online (Sandbox Code Playgroud)

但是,这会返回True所有输入.我怎样才能做到这一点?

dependent-type idris

7
推荐指数
1
解决办法
343
查看次数

ruby的rb_raise如何停止执行调用它的c函数?

如果你在一个使用C的函数中编写一个ruby方法,rb_raise那么调用之后函数的一部分将不会被激活,程序将停止,你会认为rb_raise使用了exit().但是如果你在ruby中拯救异常,比如:

begin
  method_that_raises_an_exception
rescue
end
puts 'You wil still get here.'
Run Code Online (Sandbox Code Playgroud)

ruby代码将继续,但您的函数将停止执行.怎么rb_raise做到这一点?

c ruby raise

6
推荐指数
1
解决办法
805
查看次数