小编Ana*_*bus的帖子

是否有一种优雅的内置方式在R中进行模数索引?

目前,我有

extract_modulo = function(x, n, fn=`[`) fn(x, (n-1L) %% length(x) + 1L)
`%[mod%` = function (x, n) extract_modulo(x, n)
Run Code Online (Sandbox Code Playgroud)

然后:

seq(12) %[mod% 14
#[1] 2
Run Code Online (Sandbox Code Playgroud)

这已经在某个地方内置了吗?我会这么认为,因为R有几个回收价值的功能(例如paste).但是,我不跟结果一无所获help('[['),??index??mod.我认为这样的R符号可能是seq(12)[/14/]或类似的as.list(seq(12))[[/14/]].

indexing r built-in mod

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

“类矩阵”的(精确)含义是什么?

我想创建“类似矩阵”的对象,但不一定是“正确的”矩阵。但“类矩阵”到底是什么意思呢?

\n\n

实施例1

\n\n
> image(1:9)\nError in image.default(1:9) : argument must be matrix-like\n
Run Code Online (Sandbox Code Playgroud)\n\n

实施例2

\n\n

R 语言定义中(在 v3.3.1 中,\xc2\xa73.4.3),它是一个hapax Legomenon(添加了强调):

\n\n
\n

[An] is\xe2\x80\xa6 的类方法示例[,如果提供两个索引(即使其中一个为空),它会创建类似矩阵的索引\xe2\x80\xa6

\n
\n\n

实施例3

\n\n

标题为help(scale)类矩阵对象的缩放和居中”(强调是已添加)。那里似乎有一条线索:

\n\n
\n

numeric-alike表示如果不为 true,as.numeric(.)则将成功应用。is.numeric(.)

\n
\n

polymorphism specifications r matrix

5
推荐指数
1
解决办法
927
查看次数

确定函数的参数和关键字参数

如何确定函数调用的有效形式?

例如,假设我们有一个函数info可以完成此任务;info 可能会像这样工作(我愿意接受有关任何可能更完整且更一致的方式来表示返回信息的建议):

def foo():
    pass

info(foo)
# { 'args': (), 'kwargs': {} }

def bar(a):
    pass

info(bar)
# { 'args': ('a',), 'kwargs': {} }

def baz(a, b=42):
    pass

info(baz)
# { 'args': ('a',), 'kwargs': { 'b': 42 } }

def qux(a, *args, b=42, **kwargs):
    pass

info(qux)
# { 'args': ('a',), 'kwargs': { 'b': 42 }, 'optional': {'*args', '**kwargs'} }
Run Code Online (Sandbox Code Playgroud)

info函数应该适用于任何函数。我不确定如何为每个模式编写示例返回:例如,help(range.__init__)显示

# __init__(self, /, *args`, **kwargs)
Run Code Online (Sandbox Code Playgroud)

我不确定这/意味着什么。

的返回info需要是经过计算(以合理的努力)以产生对 …

python parameters functional-programming function signature

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

迭代相同的 freezeset 是否保证始终以相同的顺序生成项目?(Python 3)

例如,当我执行frozen = frozenset(('kay', 'snow queen')),然后tuple(frozen),我得到('kay', 'snow queen')。(何时/如何)是否有可能(如果有的话)以iter(frozen)不同的顺序生产物品?(何时/如何)将tuple(frozen)返回('snow queen', 'kay')

我几乎一直在使用 Python 3,但我也对 Python 2 感到好奇。

python iterator set reliability persistent-storage

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

在 C 中,“fputc”什么时候可以返回除第一个参数之外的其他内容?

C17 (N2176) 标准规定,如果没有写入错误,“fputc 函数将返回写入的字符”(7.21.7.3)。

但在这样的背景下

int c ;
// ... later, c is assigned an "interesting" value ...
int k = fputc ( c , stdout ) ;
Run Code Online (Sandbox Code Playgroud)

k == c || k == EOF
Run Code Online (Sandbox Code Playgroud)

总是true?即,假设fputc不返回EOF,是否保证返回c?第三种方式,可以fputc写一个不同于第一个参数的字符吗?

例如,如果我请求输出美元符号(不保证在源或执行字符集中,AFAICT),可以'\u0024' != fputc('\u0024', stdout)。也许程序会输出本地货币符号。

澄清

问题是

在 C 中,什么时候可以fputc返回除第一个参数之外的其他参数?

到目前为止(2021-10-20)的部分答案似乎是:

  • 当发生写入错误时fputc
  • 什么时候(unsigned char) c != c

我仍然想知道

假设(unsigned char) c == c, 但(unsigned …

c stdio return-value output

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