小编Eci*_*ana的帖子

Python动态类方法

说有:

class A(B):
    ...
Run Code Online (Sandbox Code Playgroud)

这里B可能是object和...是不是:

@classmethod # or @staticmethod
def c(cls): print 'Hello from c!'
Run Code Online (Sandbox Code Playgroud)

我不得不做什么叫A.c()不会触发AttributeError?

换句话说,我知道可以在运行时手动将类方法添加到类中.但是有可能自动这样做,比如每次缺少类方法时都会创建一些虚拟方法吗?

换句话说,只有我可以A.__dict__用我的dict 替换处理__getitem__- 但A.__dict__似乎不可写......

python runtime class-method

4
推荐指数
1
解决办法
6847
查看次数

Objective C:objc_msgSend返回类型

如何找出结果的类型objc_msgSend?

来自文档:

id objc_msgSend(id theReceiver, SEL theSelector, ...)
Run Code Online (Sandbox Code Playgroud)

也就是说,objc_msgSend返回的一切都是id类型的,对吗?但有时函数返回一个正确的Objective C对象(当要求NSWindow + new时),有时它只返回一个bool(这是一个C char).

如何区分这些不同的结果?我怎么知道它是返回对象还是原始类型?

编辑:谢谢你的回复!还有一个问题:至少不可能判断返回的类型是原始类型还是适当的对象(然后可能会查询它object_getClass)?

objective-c

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

使用整数的3个数字的平均值

我想计算三个数字的平均值,如:

d = int(round((a + b + c) / 3.0))
Run Code Online (Sandbox Code Playgroud)

其中a,b,c,d为整数.

是否可以仅使用整数得到相同的结果?

我对此感兴趣是因为性能原因,我假设使用整数进行数学计算应该比使用浮点数更快.

上面的示例将整数转换为浮点数,计算结果,对其进行舍入并转换回整数.是否可以避免int < - > float转换?

math floating-point integer average

3
推荐指数
1
解决办法
2274
查看次数

NSTextView粘贴:当粘贴"foo"时,如何粘贴"bar"?

我有一个NSTextView,用户可以将纯文本粘贴到其中.

当用户在粘贴板中有"foo"时,我希望粘贴"bar".换句话说,用户进入网络浏览器,选择"foo",cmd + c,切换到我的NSTextView,cmd + v,并在插入点出现"bar".

拜托,有谁知道如何处理这个问题?

编辑:是否有可能以某种方式使用readSelectionFromPasteboard:type:此?我只是不知道在我的被覆盖的textview的方法体中放什么..?

cocoa objective-c nstextview

3
推荐指数
1
解决办法
765
查看次数

球算术vs区间算术

什么是优势球算术(ARB)在区间运算(MPFI) ?

换句话说,将间隔表示为[中心,半径]而不是[左,右]有什么好处?

这与特定库(Arb与MPFI)无关,而与特定表示的优点有关。

我特别感兴趣的是,一种表示形式是否允许更快的算术(更少的原始运算),更少的错误过高估计和更多的节俭内存使用。

math floating-point biginteger intervals

3
推荐指数
1
解决办法
245
查看次数

淡四郎 / 淡四郎与零

如果播种正确, xoshiro / xoroshiro伪随机数生成器是否能够生成零?它生成零的概率与其他值相同吗?

random statistics

3
推荐指数
1
解决办法
1024
查看次数

从 double 转换总是返回零

为什么以下代码在使用 clang 编译时返回零?

#include <stdint.h>
uint64_t square() {
    return ((uint32_t)((double)4294967296.0)) - 10;
}
Run Code Online (Sandbox Code Playgroud)

它生产的组件是:

    push    rbp
    mov     rbp, rsp
    xor     eax, eax
    pop     rbp
    ret
Run Code Online (Sandbox Code Playgroud)

我原以为 double 会变成零(整数),而那个减号会将它包裹起来。换句话说,为什么要减去的数字无关紧要,因为它总是产生零?请注意,gcc 确实产生了不同的数字,正如预期的那样:

    push    rbp
    mov     rbp, rsp
    mov     eax, 4294967285
    pop     rbp
    ret
Run Code Online (Sandbox Code Playgroud)

我假设将 4294967296.0 转换uint32_t为未定义的行为,但即便如此,我仍希望为不同的减数产生不同的结果。

c c++ gcc clang

3
推荐指数
1
解决办法
141
查看次数

在Cocoa中,如何定义Class类型?

来自"objc.h":

typedef struct objc_class *Class;
Run Code Online (Sandbox Code Playgroud)

但在"runtime.h"中:

struct objc_class {
    Class isa;

#if !__OBJC2__
    Class super_class                                        OBJC2_UNAVAILABLE;
    const char *name                                         OBJC2_UNAVAILABLE;
    long version                                             OBJC2_UNAVAILABLE;
    long info                                                OBJC2_UNAVAILABLE;
    long instance_size                                       OBJC2_UNAVAILABLE;
    struct objc_ivar_list *ivars                             OBJC2_UNAVAILABLE;
    struct objc_method_list **methodLists                    OBJC2_UNAVAILABLE;
    struct objc_cache *cache                                 OBJC2_UNAVAILABLE;
    struct objc_protocol_list *protocols                     OBJC2_UNAVAILABLE;
#endif

} OBJC2_UNAVAILABLE;
/* Use `Class` instead of `struct objc_class *` */
Run Code Online (Sandbox Code Playgroud)

到底是Class什么?

macos cocoa objective-c

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

"a + = b + = c"是什么意思?

我看到以下代码:a += b += c- 拜托,有谁知道它是什么意思?

a = a + b
b = b + c
Run Code Online (Sandbox Code Playgroud)

要么:

b = b + c
a = a + b
Run Code Online (Sandbox Code Playgroud)

syntax

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

PyPy 的统计分析器

我想使用statprof.py来分析 PyPy 中的代码。不幸的是,它似乎不起作用,它指向的行号已关闭。有谁知道如何使其工作或知道替代方案?

python performance profiling pypy

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