问题列表 - 第17173页

扩展抽象单例类

如果你有一个工厂类来创建某种新的对象,那个factroy类是一个单例,如下所示:

class Database_Factory extends Base_Factory {
    private static $factory;
    private $objects = array();

    public function __get($profile) {
        // check for object and return it if it's created before
    }

    public static function getInstance(){
        if (!self::$factory)
            self::$factory = new self();
        return self::$factory;
    }
}
Run Code Online (Sandbox Code Playgroud)

当某个对象需要它自己的工厂时,相同的代码会重复.所以我决定将这个工厂类抽象化,并且只为每个工厂实现特定的例程.但PHP不允许实例化抽象类.

abstract class Base_Factory {
    public static function getInstance(){
        if (!self::$factory)
            self::$factory = new self();
        return self::$factory;
    }
}
Run Code Online (Sandbox Code Playgroud)

致命错误:无法实例化抽象类Base_Factory

你会怎么做?

php singleton abstract-class

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

如何解决使用Perl条件运算符时出现的语法错误?

我想在perl程序中获得一个问题的解决方案.

$parallel_on=='YES'? my $pid = $pm->start and next; :0;
Run Code Online (Sandbox Code Playgroud)

我希望成为这样的声明.但我没有得到解决.可以请任何人解决这个问题吗?

syntax perl

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

执行子进程失败

我试图用几个参数通过Python调用一个进程.执行批处理文件本身对我来说很好,但将其翻译成Python会让我尖叫.这里是批处理文件的内容:

"C:\Program Files\bin\cspybat" "C:\Program Files\bin\armproc.dll" "C:\Program Files\bin\armjlink.dll" "C:\Documents and Settings\USER\Desktop\CAL\testing\Verification\FRT\Code\TC1\Output\Genericb\Debug\Exe\Gen.out" --download_only --backend -B "--endian=little" "--cpu=Cortex-M3" "--fpu=None" "-p" "C:\Program Files\CONFIG\debugger\ST\iostm32f10xxb.ddf" "--drv_verify_download" "--semihosting" "--device=STM32F10xxB" "-d" "jlink" "--drv_communication=USB0" "--jlink_speed=auto" "--jlink_initial_speed=32" "--jlink_reset_strategy=0,0" 
Run Code Online (Sandbox Code Playgroud)

批处理文件运行的可执行文件已命名cspybat.可执行文件的输出提供了以下信息:-- All parameters afterbackend are passed to the back end.

另请注意,有些参数是字符串,有些则不是.

这对我有用:

    """ MCU flashing function""" 
params = [r"C:\Program Files\bin\cspy",
          r"C:\Program Files\bin\arpro.dll",
          r"C:\Program Files\bin\arjink.dll",
          r"C:\Documents and Settings\USER\Desktop\Exe\GenerV530b.out",
          "--download_only", "--backend", "-B", "--endian=little", "--cpu=Cort3", "--fpu=None", "-p", 
          r"C:\Program Files\CONFIG\debugger\ST\iostm32f10xxb.ddf",
           "--drv_verify_download", "--semihosting", "--device=STM32F10xxB", "-d", "jlink", "--drv_communication=USB0",
            "--jlink_speed=auto", "--jlink_initial_speed=32", "--jlink_reset_strategy=0,0" ]
print(subprocess.list2cmdline(params)) …
Run Code Online (Sandbox Code Playgroud)

python subprocess

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

扩展扩展有序的 scala 类

我在扩展扩展 Ordered[Base] 的基类时遇到问题。我的派生类无法扩展 Ordered[Derived],因此无法用作 TreeMap 中的键。如果我创建一个 TreeMap[Base],然后只覆盖 Derived 中的比较,这可以工作,但这不是我想要的。我希望能够将派生类作为密钥。有没有解决的办法?

case class A(x: Int) extends Ordered[A] {
  def compare(that: A) = x.compare(that.x)
}

// Won't compile
//  case class B(val y : Int) extends A(1) with Ordered[B] {
//    def compare(that: B) = x.compare(that.x) match {
//      case 0 => y.compare(that.y)
//      case res => res
//    }
//  }

// Compiles but can't be used to define a TreeMap key
case class B(y: Int) extends A(1) {
  override def compare(that: …
Run Code Online (Sandbox Code Playgroud)

inheritance scala covariance

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

OSGi的基本主题是什么?

OSGi是一个用于Java的动态模块化系统.好的,但基线主题是什么,为什么OSGi开发了?使用OSGi有什么好处?开发OSGi的主要故事是什么?它为什么存在?

osgi

8
推荐指数
2
解决办法
1813
查看次数

技术面试问题 - 我的方法是否正确?

最近我接受了一家软件公司的采访.我没有通过第一轮本身.

也许我在形成想法或解决问题方面太慢,对我采访的公司来说也不够好.我想对我的访谈有第二个意见,我找不到比stackoverflow社区更好的人.

所以这次采访是基本的

  1. 介绍
  2. 你为什么申请这个职位?
  3. 一个Techincal问题(详情如下)
  4. 您使用的最差软件是什么?为什么?提高
  5. 什么是你用过的最好的软件?为何改进?

原始技术问题(由面试官提出)

给定一个数字范围M ...... M + N-1我构造一个大小为N的数组,并用数字替换该数组中的一个元素.您如何找到替换的元素?

我让他再次重复这个问题,因为我认为输入不足以解决问题.他重复了同样的声明

问:然后我问他是按照排序顺序从数字范围得到的数组?
采访者:没必要

问:在替换元素之前,我们是否知道数组?
采访者:没有

然后我开始写一些伪代码(同时做大声思考).我立即意识到,如果原始数组有重复,它就无法工作.所以我一会儿想着要解决这个问题.然后我终于问了一些重要的问题

问:如何从Range中选择元素来形成数组?
采访者:我有一个数字范围M,M + 1,M + 2 ...... M + N-1.一个数字只被选中一次.我形成一个大小为N的数组.(这实际上意味着没有重复项,并且范围内的所有元素都被选中)

问你用它替换它的数量怎么样?它是否在同一范围内?
采访者:是的.

然后一切都变得清晰

这就是他的意思:
QI有一系列从M开始的数字,如M,M + 1,M + 2,M + 3 ...... M + N. 我形成一个大小为N的数组,这样每个元素只被选中一次,原始数组没有任何重复.我用相同范围内的数字替换数组中的一个元素.找出我从该系列中挑选出来的产品?

这相当于在数组中查找重复项.在替换后,将只有一对副本我们可以很容易地在O(N ^ 2)时间或O(nlogn)时间内找到它.我给了他两个算法.

最后,我无法抗拒地问他"我是怎么在这个问题上表现的?他说好了你花了很多时间回答.

显然他对我对这个问题的处理方式不满意.
在回答这个问题时,您认为我应该做些什么?

algorithm

6
推荐指数
2
解决办法
2430
查看次数

内存泄漏/ C++中的内存分配

我在C++中有以下功能

void func1()
{
    char *p = "Test for memory leak";
}
Run Code Online (Sandbox Code Playgroud)

何时func1()被调用哪里是分配的变量的内存?无论是在堆栈还是堆中?应该delete p;明确调用?

c++ memory-leaks memory-management visual-c++

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

我们在javascript中有getElementsByClassName吗?

就像在jQuery中我们可以使用$(".classname"),javascript中也有类似的东西吗?或者,如果我们没有这样的方法,那么我该如何实现呢.
根据http://www.dustindiaz.com/getelementsbyclass/, 我将遍历所有标签,然后收集所有与指定类相同的元素.

有没有更好的解决方案?

javascript

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

样式Dojox网格行取决于数据

我试图根据网格中的值在DojoX(1.2.3)网格中设置一个Row的样式.

网格布局:

var view1 = {
                noscroll: true,
                rows: [{
                    field: 'TASK_ID',
                    name: 'ID',
                    width: '80px',
                    get: this.getColor
                }, {
                    field: 'MENUPOINT',
                    name: 'Action',
                    width: '250px'
                }]
            };
Run Code Online (Sandbox Code Playgroud)

getColor函数:

 getColor: function(inRowIndex) {
        console.log(inRowIndex);
        grid = dijit.byId('gridTaskCurrent');
            // if task_id = 1 style row with other background(?)
        },
Run Code Online (Sandbox Code Playgroud)

我不知道如何从每一行获取task_id值并为行设置样式..如果有人有一个很好的链接或知道如何做...那将是伟大的.

css grid dojo

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

在 RichTextBox 顶部插入

这段代码有什么问题吗?尝试让我的文本插入到文本框的开头而不是底部。

私人无效execute_Click(对象发送者,EventArgs e){
  startFinshBox.Text = "开始时间:" + printTime()+"";
  startFinshBox.Text.Insert(0,printTime()+": 检索结果...\n");
}

但它不会将第二行插入到 rtb 中。我也尝试过 startFinishBox.SelectionStart = 0 ,但没有什么区别。我还缺少其他东西吗?

谢谢,齐

c# richtextbox

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