问题列表 - 第233383页

如何将9x9阵列拆分为9个3x3组件

我有一个代表数独游戏的9x9多维数组.我需要将其分解为9个3x3多个组件.怎么做?我完全不知道从哪里开始.

game = [
[1, 3, 2, 5, 7, 9, 4, 6, 8],
[4, 9, 8, 2, 6, 1, 3, 7, 5],
[7, 5, 6, 3, 8, 4, 2, 1, 9],
[6, 4, 3, 1, 5, 8, 7, 9, 2],
[5, 2, 1, 7, 9, 3, 8, 4, 6],
[9, 8, 7, 4, 2, 6, 5, 3, 1],
[2, 1, 4, 9, 3, 5, 6, 8, 7],
[3, 6, 5, 8, 1, 7, 9, 2, 4],
[8, 7, 9, 6, …
Run Code Online (Sandbox Code Playgroud)

ruby arrays

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

国家和 ISD(呼叫)代码列表作为 android spinner 的两个数组

我需要显示 a 中的国家/地区列表,spinner当用户选择 a 时,country我必须将其国家/地区发送ISD code到服务器。

我知道这些有这样的 api 并且以文本方式位于此处。但不幸的是我必须在我的应用程序的很多地方使用它。所以如果我能把它放在 2 个数组中,我会很高兴。(一个用于国家列表,另一个用于代码列表)。

这个这个的答案列表没有进行锻炼,因为我需要数组中的国家名称列表及其ISD 代码(不是类似的国家代码),与国家数组的顺序完全相同

注意:我不需要代码。我只需要 2 个值数组

arrays country android country-codes android-spinner

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

TypeScript应该在ES5的编译输出中的_super调用之前分配给this?

我对所有扩展抽象类的子类使用依赖项注入。

在抽象构造函数类中,如果需要的话,我启动了一个计划在其子级中覆盖的方法。

我陷入了一个问题,即从super启动的重写类中看不到注入的依赖项。

这是代码示例:

abstract class Base {

    constructor(view: string) {
        this._assemble();
    }

    protected _assemble(): void {
        console.log("abstract assembling for all base classes");
    }

}

class Example extends Base {

    constructor(view: string, private helper: Function) {
        super(view);
        console.log(this.helper);
    }

    public tryMe(): void {
        this._assemble();
    }

    protected _assemble(): void {
        super._assemble();
        // at first run this.helper will be undefined!
        console.log("example assembling", this.helper);
    }

}

let e = new Example("hoho", function () { return; })
console.log("So now i will try to reassemble..."); …
Run Code Online (Sandbox Code Playgroud)

javascript transpiler typescript

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

Android中的RecyclerView的ValueEventListener与ChildEventListener

Firebase数据库用户知道有两个用于监听数据的基本监听器:ValueEventListenerChildEventListener.当我们听一个对象时它很有用,但是当我们听一些收集时变得非常困难.

要指定问题,让我们假设我们有HackerNews提要,我们在Firebase中监听例如"posts"对象.

当然我们RecyclerView在我们的应用程序中显示帖子,我认为好主意是使用FirebaseUI,但问题是我们想要在更改服务器端或测试的情况下制作更抽象的应用程序.所以我们会使用一些适配器,但这是另一个问题.

正如我所提到的,我们有两个听众,问题哪个更好

当我们使用时,ValueEventListener我们将获得整个收集,但是如果有任何更改,例如一个用户更改了帖子的内容,我们将不得不重新加载整个数据,这意味着通过昂贵的网络传输发送更多字节.另一个问题是当我们使用multilisteners时,这里是示例:

Post有userId,但我们想显示他的名字,所以在onDataChanged方法中我们获取用户数据,如下所示:

postsReference.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot data : dataSnapshot.getChildren()) {
            Post post = data.getValue(Post.class);   
            usersReference.child(post.getUserId()).addListenerForSingleValueEvent(new ValueEventListener() {

                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    // Here we have user data
                }

                @Override
                public void onCancelled(FirebaseError firebaseError) {

                }
            });
        }
    }

    @Override
    public void onCancelled(FirebaseError firebaseError) {
    }
});
Run Code Online (Sandbox Code Playgroud)

你可以看到,现在我们必须分别添加每个帖子RecyclerView,这将给我们提供可能我们应该使用的线索ChildEventListener.

所以现在当我们使用``ChildEventListener时问题是一样的 - …

java android firebase firebase-realtime-database

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

在Python中'正确'舍入到小数点后3位

我可能会遗漏一些必要的东西,但是我无法找到一种方法来"正确地"在Python(2.7)中对浮点数/小数点进行舍入,至少小数点后三位.通过'正确',我的意思是1.2225应该舍入到1.223,并且1.2224应该舍入到1.222.

我知道round在设计中不能用于Python中的浮点数,但我似乎无法Decimal按预期行事,也不能按ceil功能行事.寻找内置功能而不是自定义功能变通方法,但两者都是开放的.

>>> x = 1.2225                                   # expected: 1.223
>>> round(x, 3)               
1.222                                            # incorrect

>>> from math import ceil

>>> ceil(x * 1000.0) / 1000.0
1.223                                            # correct
>>> y = 1.2224                                   # expected: 1.222
>>> ceil(y * 1000.0) / 1000.0 
1.223                                            # incorrect

>>> from decimal import Decimal, ROUND_UP, ROUND_HALF_UP

>>> x = Decimal(1.2225)
>>> x.quantize(Decimal('0.001'), ROUND_UP)
Decimal('1.223')                                 # correct
>>> y = Decimal(1.2224)
>>> y.quantize(Decimal('0.001'), ROUND_UP)
Decimal('1.223')                                 # incorrect

>>> y.quantize(Decimal('0.001'), …
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

如何将bash视为未定义的变量作为错误?

请注意:关于如何在此站点上测试单个shell变量有很多问题.这个问题是关于测试任何未定义变量的脚本.

您可以在bash中使用未定义的变量,而不会在执行时看到任何错误:

#!/bin/bash

echo ${UNDEF_FILE}
ls -l ${UNDEF_FILE}

exit 0
Run Code Online (Sandbox Code Playgroud)

我发现这很容易出错.如果我想在大脚本中更改变量的名称,或者删除该变量,则所有先前过时的引用都将导致脚本中的错误.有时这对于调试来说并不明显,或者你发现它为时已晚.

为什么允许这样做?有没有办法标记未定义的变量?

linux bash shell

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

使用 Redshift 中列中的正则表达式

我在 Redshift 中有 2 个表,其中一个有一列包含正则表达式字符串。我想像这样加入他们:

select *
from one o
join two t
on o.value ~ t.regex
Run Code Online (Sandbox Code Playgroud)

但这个查询会抛出一个错误:

[Amazon](500310) Invalid operation: The pattern must be a valid UTF-8 literal character expression
Details: 
 -----------------------------------------------
  error:  The pattern must be a valid UTF-8 literal character expression
  code:      8001
  context:   
  query:     412993
  location:  cgx_impl.cpp:1911
  process:   padbmaster [pid=5211]
  -----------------------------------------------;
Run Code Online (Sandbox Code Playgroud)

据我在文档中搜索的了解,正则表达式运算符的右侧~必须是字符串文字。

所以这会起作用:

select *
from one o
where o.value ~ 'regex'
Run Code Online (Sandbox Code Playgroud)

这会失败:

select *
from one o
where 'regex' ~ o.value
Run Code Online (Sandbox Code Playgroud)

有没有办法解决?我错过了什么吗?

谢谢!

regex literals amazon-redshift

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

Javascript Promises:链接相同的承诺n次,然后做其他事情

我有一个promise-returns函数,可以执行一些异步操作,让我们调用它functionToRepeat().

我正在尝试编写该函数repeatFunction(amount),以便它将启动承诺,等待完成,再次启动它,等待完成,等等一定时间.这repeatFunction(amount)也应该是可以的,以便我可以在执行后链接其他东西.

这是我的尝试:

function functionToRepeat(){
  let action = new Promise(function(resolve,reject){
    setTimeout(function(){
      console.log("resolved!");
      resolve()}
    ,1000);
  })
  return action
}

function repeatFunction(amount) {
  if(amount==0){
    return Promise.resolve();
  }
  return functionToRepeat().then(function(){
    repeatFunction(amount-1);
  });
}

repeatFunction(5).then(function(){
 console.log("DONE!");
})
Run Code Online (Sandbox Code Playgroud)

这成功地链接了我的承诺(或者接缝,我在控制台中每秒得到一个"解决!").然而,在第一个承诺结束.then()后,我试图在我repeatFunction(5)发生之后链接,而不是在所有5个结束之后!

所以在我的控制台中,我得到:

解决!DONE!解决!解决!解决!解决!

我做错了什么,我应该改变什么?

javascript promise es6-promise

5
推荐指数
2
解决办法
3392
查看次数

Google Places API自动完成显示“糟糕!出了点问题”。

我很难使用带有API密钥的Google Places API自动填充功能。在我的生产站点中,我们没有密钥地使用它,可以正常工作,直到流量达到请求限制。经过研究,发现使用API​​密钥可以获得更高的请求限制。但是,在添加密钥(甚至没有限制)之后,表单中的地址字段将被禁用,并显示“糟糕!出了点问题。”。

这是我正在使用https://maps.googleapis.com/maps/api/js?key=[my_api_key]&libraries=places&callback=initAutocomplete的 Google API URL

我以为我的代码一定有问题。然后,我将Google的官方自动完成示例代码与我的API密钥一起使用,无需进一步修改,结果相同。不用钥匙就可以使用它。

结果和键设置屏幕截图

我很困惑 我不认为代码是错误的。有人可以给我提示吗?

autocomplete google-places-api

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

如何从Time.now获取时区偏移量

Time.now   #=> 2007-11-19 08:27:30 -0600
Run Code Online (Sandbox Code Playgroud)

我希望得到区偏移0600从Time.now.如果存在,则欢迎Native ruby​​函数.

我尝试了什么:

Time.now.to_s.byteslice(-5..-1) #=> "-0600" as String
Run Code Online (Sandbox Code Playgroud)

它适用于我的时区(GET + 1),但我想找到更好的方法.

ruby ruby-on-rails

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