问题列表 - 第144231页

Google Chrome Object.defineProperty中的错误行为?

我正在尝试使用setter和getter创建一个对象,这是我的代码:

var Player = function(height){
    var _height = height;

    Object.defineProperty(this, 'height', {
      enumerable: false
    , configurable: true
    , writable: false
    , get: function(){return _height;}
    , set: function(val){_height = val;}
    });
}
Run Code Online (Sandbox Code Playgroud)

var myPlayer = new Player(10);

即使writabledefineProperty选项的属性设置为false,我也会收到以下错误:

Invalid property. A property cannot both have accessors and be writable or have a value, #<Object>

当当writable设置为true 时也会发生同样的情况,但如果我删除该writable行,则错误消失.

我做错了什么,或者这是一个错误?这种情况发生在Google Chrome,版本30.0.1599.66上

javascript google-chrome defineproperty

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

使用递归和yield关键字提取嵌套列表的Typescript函数

我正在尝试重写一个 C# 函数,该函数使用yield递归将类的实例从嵌套列表中提取到单个列表中。

这是 C# 函数:

 public static IEnumerable<TargetObject> GetRecursively(params TargetObject[] startingObjects)
 {
    foreach (TargetObject startingObject in startingObjects)
    {
        yield return startingObject;
        if (startingObject.InnerObjects != null)
            foreach (TargetObject innerObject in startingObject.InnerObjects.ToArray())
                foreach (TargetObject recursiveInner in GetRecursively(innerObject))
                    yield return recursiveInner;
     }
 }
Run Code Online (Sandbox Code Playgroud)

由于 javascript 不能可靠地支持yield跨浏览器,我如何在这个复杂的函数中模拟它?

function getRecursively(...startingObjects: TargetObject[])
{
    return function () {
           ??
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript recursion yield-return typescript

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

从扩展外部类本身的内部类中访问外部类成员

在下面显示的代码片段中,内部类继承外部类本身.

package test;

class TestInnerClass {

    private String value;

    public TestInnerClass(String value) {
        this.value = value;
    }

    private String getValue() {
        return value;
    }

    public void callShowValue() {
        new InnerClass("Another value").showValue();
    }

    private final class InnerClass extends TestInnerClass {

        public InnerClass(String value) {
            super(value);
        }

        public void showValue() {
            System.out.println(getValue());
            System.out.println(value);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)
public final class Test {

    public static void main(String[] args) {
        new TestInnerClass("Initial value").callShowValue();
    }
}
Run Code Online (Sandbox Code Playgroud)

main()方法内的唯一语句(最后一个片段)将值分配给类Initial value的私有字段value,TestInnerClass然后调用该callShowValue() …

java inheritance inner-classes

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

当表中不存在列时,如何将paginate()与having()子句一起使用

我有一个棘手的案例......

以下数据库查询不起作用:

DB::table('posts')
->select('posts.*', DB::raw($haversineSQL . ' as distance'))
->having('distance', '<=', $distance)
->paginate(10);
Run Code Online (Sandbox Code Playgroud)

它失败并显示消息:列距离不存在.

当paginate()尝试使用时计数记录时发生错误

select count(*) as aggregate from {query without the column names}
Run Code Online (Sandbox Code Playgroud)

由于列名被剥离,因此距离未知并引发异常.

在这种情况下,是否有人能够使用分页?

谢谢

laravel laravel-4

18
推荐指数
5
解决办法
9230
查看次数

如何在某个轴上用零填充张量(Python)

我想在选定的轴上用0填充一个numpy张量.例如,我有r形状的张量,(4,3,2)但我只对填充最后两个轴(即仅填充矩阵)感兴趣.是否可以使用单行python代码?

python numpy multidimensional-array

28
推荐指数
2
解决办法
3万
查看次数

通知将应用程序带到前面而无需更改活动

我想创建一个通知,单击它时会将我的应用程序放在前面,但不会更改(重新加载或导航)显示的最后一个活动.

我试过了:

setContentIntent(PendingIntent.getActivity(context, 0, new Intent(context, MainActivity.class), Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT))
Run Code Online (Sandbox Code Playgroud)

但是在新的Android 4.3中将应用程序带到了前面,但它也开始了新的实例MainActivity,而我不希望这样.

我希望我的应用程序将从显示的上一个活动继续.
怎么做?

notifications android android-intent

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

我如何以无点样式重写这个回文验证器?

我有这段代码:

palindrome :: String -> Bool
palindrome x = x == reverse x
Run Code Online (Sandbox Code Playgroud)

有没有办法以无点的方式重写这个?

haskell pointfree

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

具有不同哈希值的键是否也会映射到 HashMap 中的相同索引?

查看代码,特别是第 393 行,看起来不同的哈希值已映射到相同的索引。我了解到哈希码用于确定要使用 HashMap 中的哪个存储桶,并且存储桶由具有相同哈希码的所有条目的链表组成。他们为什么要e.hash == hash支票?



    public V put(K key, V value) {
        if (key == null)
            return putForNullKey(value);
        int hash = hash(key.hashCode());
        int i = indexFor(hash, table.length);
        for (Entry e = table[i]; e != null; e = e.next) {
            Object k;
            if (e.hash == hash && ((k = e.key) == key || key.equals(k))) {
                V oldValue = e.value;
                e.value = value;
                e.recordAccess(this);
                return oldValue;
            }
        }
        modCount++;
        addEntry(hash, key, value, i);
        return null;
    }

Run Code Online (Sandbox Code Playgroud)

java hashmap collision

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

精灵套件 - 无法改变文字的颜色(总是白色)

我正在用sprite工具包编写一个2D游戏,我正在创建菜单屏幕.除了文本总是显示为白色,无论我输入代码中的红色,绿色,蓝色等值的事实,一切都还可以.这是我用来创建菜单背景的代码:

-(id)initWithSize:(CGSize)size
{
if (self = [super initWithSize:size]) {

    NSLog(@"Size: %@", NSStringFromCGSize(size));
    [self setBackgroundColor:[SKColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1.0]];

    self.writing = [SKLabelNode labelNodeWithFontNamed:@"Thonburi Bold"];
    self.writing.text = @"MAIN MENU";
    self.writing.fontSize = 42;
    self.writing.color = [SKColor colorWithRed:0.1 green:0.1 blue:0.1 alpha:1.0];
    self.writing.position = CGPointMake(130, 270);
    [self addChild:self.writing];
}
return  self;
Run Code Online (Sandbox Code Playgroud)

}

我在项目中有其他代码,我检查了这与屏幕上的文字颜色没有任何关系.

(我是编程新手所以这可能是一个相当明显的错误)

提前致谢!

text ios7 sprite-kit

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

递归快速排序导致分段错误(不溢出)

请帮助我(这对于tommorow的学校项目非常方便)

我一直试图在C++中实现递归快速排序算法,但是,当我运行它时,我得到运行时分段错误(窗口):

#include <iostream>
#include <sstream>
#include <stdlib.h>

using namespace std;

void getRandomList(int, int*);
void outputList(int, int*);
void quicksort(int, int*);

int main()
{
    cout<<"Quick Sort example, By Jack Wilkie\n";
    while (true)
    {
        cout<<"Please enter list length\n";
        string pnput;
        cin>>pnput;
        cin.ignore(1);
        stringstream temp;
        temp << pnput;
        int length;
        temp >> length;
        if (length < 1 || length > 100000)
        {
            cout<<"INVALID INPUT! (0 < input < 100,000)\n";
        }
        else
        {
            cout<<"Creating random list of "<<length<<" items\n";
            int *list = new int[length]; …
Run Code Online (Sandbox Code Playgroud)

c++ arrays recursion quicksort segmentation-fault

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