小编Fer*_*rti的帖子

你如何在Dart中创建一个Stream?

我基本上知道如何使用它们; 例如,收听元素的onClick流.

但是,你如何设置自己的Streams?

dart

29
推荐指数
2
解决办法
8702
查看次数

如何在Dockerfile中安装需要重启的内容?

假设我有如下安装说明:

  1. 做点什么。
  2. 重新启动计算机。
  3. 做其他事情。

如何在Dockerfile中表达这一点?

docker dockerfile

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

我正在逐步调试Visual Studio 2010中的应用程序,并且它一度跳转到代码的意外部分.这是一个错误吗?

我正在逐步调试Visual Studio 2010中的一个应用程序,令人惊讶的是,它以非线性的方式跳回到一部分代码中.我在单元测试中运行代码,使用debug(使用resharper)并且Visual Studio停止,它在等待一段时间后没有说stackoverflow或任何东西.

我认为这是一个错误.我也发生在另一个时间.为什么它会以这种任意方式跳转代码?

你知道如何防止这种情况吗?是否有一些特殊的编码方式会使这个bug容易发生?

编辑:跳转到的代码的一部分:

foreach (var elemento in expresion.ElementosUsados)
        {
            valoresElementos.Add(new ValorYNombre(elemento.Nombre, elemento.GetValor(valoresBase)));
        }
Run Code Online (Sandbox Code Playgroud)

那时"elemento"的值将等于"this"(对同一个对象的引用)

c# visual-studio-2010

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

Dart - 如果我按 Map 的键搜索而不是在 List 中执行 singleWhere 是否会提高性能?

因此,例如,鉴于我有以下课程

class Foo{
  String id;
  Foo(this.id);
}
Run Code Online (Sandbox Code Playgroud)

我想要某种 Foos 集合,然后能够通过其 id 找到任何 Foo。我想比较这两种实现方式:

带地图:

var foosMap  = <String, Foo>{"foo1": new Foo("foo1"), "foo2": new Foo("foo2")}; 
var foo2 = foosMap["foo2"];
Run Code Online (Sandbox Code Playgroud)

使用列表:

var foosList = <Foo>[new Foo("foo1"), new Foo("foo2")];
var foo2 = foosList.singleWhere((i) => i.id == "foo2");
Run Code Online (Sandbox Code Playgroud)

第一种方式(使用地图)在性能方面是否更方便?还有其他需要考虑的因素吗?

dart

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

流星:导入流星包时导入语句重要吗?

所以我创建了一个空的 Meteor 应用程序。其中一个文件 server/main.js 如下所示:

import { Meteor } from 'meteor/meteor';

Meteor.startup(() => {
  // code to run on server at startup
  console.log('hello from the server');
});
Run Code Online (Sandbox Code Playgroud)

我试过注释掉上面的导入语句,代码仍然运行。那么,导入流星全局变量时导入语句是否只是为了更容易查看变量的来源?如果我包含该 import 语句,它在行为上有什么不同吗?

meteor

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

这个使用Streams的代码是错误的还是我应该提交错误?

我写的代码可能有点长,但是,我想知道是否有错误,所以我可以将它提交给dartbug.com.如果没有错误,我想知道我做错了什么.

代码的想法是将点的位置与网格同步(分别为Square类和Grid类).

Square.onPosChange是一个发送前一个位置的Stream.

当一个正方形被添加到Grid(Grid.add)时,就会对onPosChange进行订阅,它所做的就是改变Grid中正方形的位置; 首先它将它从前一个位置移除(只是指定null),然后将其分配给当前位置.

当我希望前一个位置为空时,我的测试失败了.现在下面是代码,并注意我认为可能是问题的注释行.

编辑:以防万一,这不是愚人节问题:P

import 'dart:async';
import 'package:unittest/unittest.dart';

void main() {
  test('grid',(){
    Square s = new Square(3, 5);
    Grid g = new Grid(10,10);
    g.add(s);
    expect(g._cols[3].squares[5], s);//pass
    s.x = 6;
    expect(g._cols[6].squares[5], s);//pass
    expect(g._cols[3].squares[5], isNull);//fails

  });
}

class Grid{
  List<GridCol> _cols;
  int w, h;
  Grid(this.w, this.h){
    _cols = new List<GridCol>.filled(w, new GridCol(h));
  }
  add(Square square){
    if(!isOut(square)){
      //add square to grid
      _cols[square.x].squares[square.y] = square;
      //listen to onPosChanged event stream
      square.onPosChanged.listen((Point previousPos){
        //remove from previous position
        _cols[previousPos.x].squares[previousPos.y] = null;
        //if is …
Run Code Online (Sandbox Code Playgroud)

dart

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

标签 统计

dart ×3

c# ×1

docker ×1

dockerfile ×1

meteor ×1

visual-studio-2010 ×1