小编und*_*gor的帖子

Python中的null对象?

我如何在Python中引用null对象?

python null

1097
推荐指数
5
解决办法
146万
查看次数

(一元)*运算符在这个Ruby代码中做了什么?

鉴于Ruby代码

line = "first_name=mickey;last_name=mouse;country=usa" 
record = Hash[*line.split(/=|;/)] 
Run Code Online (Sandbox Code Playgroud)

除了*操作员之外,我理解第二行中的所有内容 - 它在做什么以及文档在哪里?(正如你可能猜到的那样,寻找这个案子很难......)

ruby operators splat

169
推荐指数
3
解决办法
5万
查看次数

extern关键字对C函数的影响

在C中,我没有注意到extern函数声明之前使用的关键字的任何影响.起初,我认为extern int f();在单个文件中定义时会强制您在文件范围之外实现它.但是我发现两者都是:

extern int f();
int f() {return 0;}
Run Code Online (Sandbox Code Playgroud)

extern int f() {return 0;}
Run Code Online (Sandbox Code Playgroud)

编译得很好,没有gcc的警告.我用过gcc -Wall -ansi; 它甚至不接受//评论.

extern 在函数定义之前使用是否有任何影响?或者它只是一个可选的关键字,对函数没有副作用.

在后一种情况下,我不明白为什么标准设计师选择用多余的关键词来乱丢语法.

编辑:澄清一下,我知道extern变量的用法,但我只是extern函数中询问.

c syntax standards

162
推荐指数
6
解决办法
18万
查看次数

Haskell printf如何工作?

Haskell的类型安全性仅对于依赖类型的语言是首屈一指的.但是Text.Printf有一些深刻的魔力似乎相当类型.

> printf "%d\n" 3
3
> printf "%s %f %d" "foo" 3.3 3
foo 3.3 3
Run Code Online (Sandbox Code Playgroud)

这背后的深层魔力是什么?该Text.Printf.printf函数如何采用像这样的可变参数?

用于允许Haskell中的可变参数的一般技术是什么,它是如何工作的?

(旁注:使用这​​种技术时,某种类型的安全性显然会丢失.)

> :t printf "%d\n" "foo"
printf "%d\n" "foo" :: (PrintfType ([Char] -> t)) => t
Run Code Online (Sandbox Code Playgroud)

printf haskell variadic-functions polyvariadic

99
推荐指数
1
解决办法
1万
查看次数

在Ruby中使用method_missing陷阱

method_missing在Ruby中定义方法时有什么需要注意的吗?我想知道是否存在一些不那么明显的继承,异常抛出,性能或其他任何东西的交互.

ruby metaprogramming

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

Haskell范围和浮动

为什么浮点数的Haskell范围符号的行为与整数和字符的行为不同?

Prelude> [1, 3 .. 10] :: [Int]
[1,3,5,7,9] 
Prelude> [1, 3 .. 10] :: [Float]
[1.0,3.0,5.0,7.0,9.0,11.0]
Prelude> ['a', 'c' .. 'f']
"ace"
Run Code Online (Sandbox Code Playgroud)

如果最后一个元素接近上限,我会理解它,但这显然不是一个舍入问题.

floating-point haskell range-notation

42
推荐指数
2
解决办法
5368
查看次数

最简单的非平凡monad变换器示例"dummies",IO + Maybe

有人可以提供一个超级简单(几行)monad变换器示例,这是非平凡的(即不使用Identity monad - 我理解).

例如,有人会如何创建一个执行IO并可以处理失败的monad(可能)?

什么是最简单的例子来证明这一点?

我已经浏览了一些monad变换器教程,他们似乎都使用State Monad或Parsers或者复杂的东西(对于newbee).我想看到一些比这简单的东西.我认为IO +也许会很简单,但我自己并不知道如何做到这一点.

我怎么能使用IO + Maybe monad堆栈?最重要的是什么?什么会在底部?为什么?

在什么样的用例中,人们想要使用IO + Maybe monad还是Maybe + IO monad?创造这样一个复合单子会有意义吗?如果是,何时以及为什么?

monads haskell monad-transformers

39
推荐指数
3
解决办法
5320
查看次数

将带有十六进制ASCII码的字符串转换为字符

我有一个包含ASCII字符的十六进制代码值的字符串,例如"666f6f626172".我想将其转换为相应的字符串("foobar").

这很有效但很难看:

"666f6f626172".scan(/../).map(&:hex).map(&:chr).join # => "foobar"
Run Code Online (Sandbox Code Playgroud)

有更好(更简洁)的方式吗?可能unpack会有所帮助吗?

ruby ascii

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

可以在Ruby中使用指针吗?

我认为Ruby被解释为C.如果是这样,我如何使用指针和其他功能的概念作为C环境的一部分?我们如何利用Ruby的简单性来利用C的强大功能?

ruby

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

cygwin上的内存泄漏工具

是否有任何替代方案可用于检查Cygwin上的内存泄漏,因为它不支持Valgrind?

c cygwin memory-leaks

19
推荐指数
1
解决办法
1万
查看次数