小编por*_*ton的帖子

Ada过程中的第一个形式参数

来自Ada2012参考手册:

arm2012.html/RM-4-1-3.html

不是展开名称的selected_component将解析为表示以下之一:

  • 子程序的视图,其第一个形式参数是标记类型,或者是指定类型被标记的访问参数:

为什么仅将它用于第一个形式参数才有意义?

请举例说明.

ada

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

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

获取目录中所有文件的名称列表(Perl)

获取给定目录中所有文件(包括子目录中的文件)全名的最简单方法是什么?

是的,我了解File::Find模块。但是,有没有更简单的方法?

perl directory-structure perl5

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

更改 Django 查询中的字段名称

我有几个 Django 查询需要与.union().

.union()只有在所有字段名称都相同时才有效,事实并非如此。

那么,如何修改 Django 查询中的字段名称(比如AS在 SQL 中使用关键字)?

sql django field django-models

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

Django:注释()不起作用

Post是一个模型。我需要编写一个查询,它有一个“常量”字段,type其值是"X"每个对象的字符串。

我尝试执行以下操作:

>>> Post.objects.all().annotate(type="X")
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/porton/.virtualenv/opus/lib/python3.6/site-packages/django/db/models/query.py", line 929, in annotate
    clone.query.add_annotation(annotation, alias, is_summary=False)
  File "/home/porton/.virtualenv/opus/lib/python3.6/site-packages/django/db/models/sql/query.py", line 982, in add_annotation
    annotation = annotation.resolve_expression(self, allow_joins=True, reuse=None,
AttributeError: 'str' object has no attribute 'resolve_expression'
Run Code Online (Sandbox Code Playgroud)

为什么会出现错误以及如何解决我的问题?

请注意,当我将.union()多个查询放在一起时,我需要它来区分不同类型的结果:

    q1 = paybills.models.PaymentSuccess.objects.all().annotate(type='PaymentSuccess').values('created', 'type')
    q2 = paybills.models.SubscriptionSuccess.objects.all().annotate(type='SubscriptionSuccess').values('created', 'type')
    q3 = paybills.models.SubscriptionPayment.objects.all().annotate(type='SubscriptionPayment').values('created', 'type')
    q4 = paybills.models.UnsubscriptionSuccess.objects.all().annotate(type='UnsubscriptionSuccess').values('created', 'type')
    q = q1.union(q2, q3, q4, all=True).order_by('-created')
Run Code Online (Sandbox Code Playgroud)

django django-models

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

Perl升级后的奇怪错误:无法刷新stdout

升级到Perl 5.24.4后,我们在日志中反复出现此错误(不指向文件名和行号):

无法冲洗标准输出:管道损坏

我们不知道导致此错误的原因.

有什么建议如何理解错误的原因?

perl warnings runtime-error

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

具有零参考的 Rc

我可以创建Rc零(强)引用吗?这个怎么做?

我正在做参考文献计数有向图。空的有向图将表示为Rc具有零引用的变量。

如果不可能,我可以使用Option<Rc>,但效率低且不方便。

reference-counting rust

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

@dataclass Python类中的拼写错误的字段

如何在@dataclass-decorated Python类中设置拼写错误的字段时引发异常?

我想要一种实用的方法来做到这一点.我需要写自己的装饰师吗?

@dataclass
class C(object):
    x: int = 1

obj = C()
obj.y = 2  # should raise an exception
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-dataclasses

0
推荐指数
1
解决办法
125
查看次数

Observable vs Promise,如何等待所有的observable完成?

在 Node.js 中,我需要等待几个Observables 完成。我还需要订阅每个 observable。

我会使用,Promise.all()但那些Observable不是Promise

下面的代码正确吗?

let promise1 = observable1.toPromise()
observable1.subscribe(...)
let promise2 = observable2.toPromise()
observable2.subscribe(...)
Promise.all([promise1, promise2]).then(...)
Run Code Online (Sandbox Code Playgroud)

如果不正确,如何更改?

我试过这个代码:

      let courtsPromise =
        this.ownedContractHandle.pastEvents({fromBlock: 0, filter: {courtId: this.courtIDs}})
          .subscribe(events => this.processCourtEvents(events))
      let namesPromise =
        this.courtNamesContractHandle.pastEvents({fromBlock: 0, filter: {ourCourtId: this.props.courtId}})
          .subscribe(events => this.processNameEvents(events))
      let trustedCourtsPromise =
        this.ownedContractHandle.getTrustedCourtsList(this.props.courtId)
      console.log('before zip')
      zip([courtsPromise, namesPromise]).subscribe(function(values) {
        console.log('values', values)
        this.updateCourtItems()
        this.updateTokenNames()
        this.updateTrustedCourts(values[2])
      })
Run Code Online (Sandbox Code Playgroud)

它打印 'before zip'但不'values'。为什么它不起作用?

另外你看,在两个 observables 中,我也有一个承诺。如何等待它(当两个 observable 和一个 promise 都完成时)?

javascript asynchronous node.js promise observable

0
推荐指数
1
解决办法
460
查看次数

由两个闭包修改的变量

考虑以下(人为的)递增x方式9

fn main() {
  let mut x = 0;
  let mut f = || {
    x += 4;
  };
  let _g = || {
    f();
    x += 5;
  };
}
Run Code Online (Sandbox Code Playgroud)
error[E0499]: cannot borrow `x` as mutable more than once at a time
 --> x.rs:6:12
  |
3 |   let mut f = || {
  |               -- first mutable borrow occurs here
4 |     x += 4;
  |     - first borrow occurs due to use of `x` in …
Run Code Online (Sandbox Code Playgroud)

closures mutable rust borrowing

0
推荐指数
2
解决办法
207
查看次数