小编Sho*_*hoe的帖子

将参数数组传递给对象构造函数

如何调用对象构造函数传递参数数组,以便具有:

$array = array($param1, $param2);
Run Code Online (Sandbox Code Playgroud)

我可以打电话

$abc = new Abc($param1, $param2);
Run Code Online (Sandbox Code Playgroud)

考虑到我不知道在阵列中可以设置多少参数.有类似的东西call_object('Abc', array($param1, $param2))吗?

php oop

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

PHP LaTeX到PDF转换/编译

我已经广泛搜索了一个基于PHP的工具来将LaTeX转换为PDF,但没有成功.我知道LaTeX在服务器端运行,但是我仍然需要基于PHP的命令进程才能使用LaTeX生成所述PDF文件.

编辑

此外,在服务器上安装二进制文件,库或工具是禁忌.我可以使用的工具是PHP及其内置的功能.任何可以将LaTex转换为PDF的类或PHP工具都非常有用.

任何指导都将非常感激.

php pdf latex tex

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

引导警报解雇不起作用,rails 3.2

使用带有Rails 3.2的twitter bootstrap 2.0(资产/样式表中的css文件,现在不使用less或sass)

我在屏幕顶部有一个bootstrap样式的错误或成功警报(基于消息的第一个字是否="错误".我已经将'bootstrap.js'和'bootstrap-alert.js'添加到资产/ javascript文件夹.

这是我布局中的代码:

<% flash.each do |name, msg| %>
  <% if msg[0..4] == "Error" %>
    <div class="alert alert-error fade in">
  <% else %>
    <div class="alert alert-success fade in">
  <% end %>
  <a class="close" data-dismiss="alert" href="#">&times;</a>
  <%= msg %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

在我的assets/javascripts/application.js中,我有:

$(".alert-message").alert()
$(".alert-message").alert('close')
Run Code Online (Sandbox Code Playgroud)

不确定我需要两者吗?尝试使用.alert/.alert-error.

当我点击关闭符号时没有任何反应,我确定我错过了一些非常明显的东西,但我不熟悉使用JS/w Rails,无法解决这个问题.在Chrome JS控制台中,我看到此错误消息,该消息似乎与bootstrap-alert.js data-api有关:

Uncaught TypeError: Object [object Object] has no method 'on'

非常感谢任何提示!

javascript twitter-bootstrap

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

有没有办法检测const限定对象的构造?

假设有两个声明:

const type x;  // case a
type y;        // case b
Run Code Online (Sandbox Code Playgroud)

是否可以在type构造函数中检测大小写"a"或"b",以便我可以执行不同的操作?

从标准§12.1/ 3我们得到:

可以为const,volatile或const volatile对象调用构造函数.const和volatile语义(7.1.6.1)不适用于正在构造的对象.它们在最派生对象(1.8)的构造函数结束时生效.

因此,在构造中从不被限定的this行为就像预期的那样const(否则你怎么能在体内编辑成员对象?).所以,似乎不可能使用类型特征this.

一个用例为这将是如下:假设你有一个潜在的C API描述特定对象(在更广泛的意义上)工作,同时暗示对自己的未来的线沿线的使用:

  • STATIC =不会被修改
  • DYNAMIC =可以修改

可以在这些C对象周围创建一个包装器,并STATICconst构造上给出提示,并DYNAMIC在非const构造上提示.当然const_cast存在并且可能搞砸了,但我在这里假设合理的编码:P.

我错过了什么(考虑到C++ 11和C++ 14)?

c++ constructor const c++11 c++14

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

为什么我不能用foo(char*args [])做foo({"asd","asd1"})?

我正在阅读C++ Primer,在第6.2节中它说:

"参数初始化的工作方式与变量初始化相同."

然而当我这样做时:

void foo(char* args[]) {return;}

int main() {

char* args[]={"asd","dsa"};  // ok.

foo({"asd","dsa"});          // error.

}
Run Code Online (Sandbox Code Playgroud)

这是为什么?

c++ function

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

Rails 3真实性令牌

有谁知道如何在Ruby on Rails 3中管理真实性令牌?所有不引人注目的Javascript Ruby on Rails 3文章都展示了如何使用HTML5数据属性,我没有在任何地方看到真实性令牌.

forms html5 forms-authentication ruby-on-rails ruby-on-rails-3

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

Haskell:使用O(1)追加和O(1)索引的Datastruture?

我在Haskell中寻找一种支持快速索引和快速追加的数据结构.这是针对由递归引起的memoization问题.

从矢量在c ++中工作的方式(这是可变的,但在这种情况下应该无关紧要)它似乎是不可变的向量与(摊销)O(1)追加和O(1)索引应该是可能的(好吧,它不是,看到这个问题的评论).这在Haskell中是不可能的,还是应该使用Data.Sequence,它有(AFAICT无论如何)O(1)追加和O(log(min(i,ni)))索引?

在一个相关的说明中,作为一个Haskell新手,我发现自己渴望一个实用,简洁的Haskell数据结构指南.理想情况下,这将对最实用的数据结构以及性能特征和指向Haskell库的指针进行相当全面的概述.似乎有很多信息,但我发现它有点分散.我问得太多了吗?

haskell vector data-structures

8
推荐指数
3
解决办法
2189
查看次数

为什么我对自我引用懒惰序列的直觉是错误的?

在Haskell中,我可以在GHCI中编写一个自引用序列,如下所示:

?> let x = 1:map (+1) x
?> take 5 x
Run Code Online (Sandbox Code Playgroud)

产生:

[1,2,3,4,5]
Run Code Online (Sandbox Code Playgroud)

然而,我对懒惰评估的直觉说这应该在扩展期间发生

let x = 1:map (+1) x
1:2:map (+1) x
1:2:map (+1) [1, 2] <-- substitution
1:2:2:3:map (+1) x
1:2:2:3:map (+1) [1, 2, 2, 3] <-- substitution
1:2:2:3:2:3:3:4:map (+1) x
...
Run Code Online (Sandbox Code Playgroud)

这显然不是正在发生的事情.我可以在正确答案中看到模式.我们只是在无限流中一次移动列表中的一个元素.我认识的模式,我可以在代码中应用它.然而,它与我的懒惰评估的心理模型不符.感觉有点"神奇".我的直觉在哪里错了?

haskell lazy-evaluation

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

C++在迭代时删除列表成员:标准解决方案不起作用?

这是我的问题.我已经阅读了许多关于如何在迭代它时删除列表成员的问题以及我尝试了答案提出的各种解决方案.碰巧他们似乎没有工作.我有这种类的列表:

class Walker {
    public:
        Walker(int); 
        ~Walker(); 

        double *x; 
        double *y; 
        double *z; 
        double weight; 
        int molteplicity; 
};
Run Code Online (Sandbox Code Playgroud)

构造函数和析构函数如下

Walker::Walker(int particle_num) {
    x = new double[particle_num];
    y = new double[particle_num];
    z = new double[particle_num];
}

Walker::~Walker() {
    delete x;
    delete y;
    delete z;
}
Run Code Online (Sandbox Code Playgroud)

现在,列表

list<Walker> population;
Run Code Online (Sandbox Code Playgroud)

被定义为另一个类的成员.现在,如果元素molteplicity为null(通过另一个函数计算),我必须从类中删除成员,这就是我的方法:

for( it = population.begin(); it != population.end(); ) {
        if( it->molteplicity == 0 ) {
            it = population.erase(it);
        } else {
            ++it;
    }
Run Code Online (Sandbox Code Playgroud)

在运行时收到以下错误:

prog(22332)malloc:*对象0x7f838ac03a60的错误:未释放指针被释放*在malloc_error_break中设置断点以调试Abort陷阱:6

你看到错误吗?非常感谢您的帮助!!如果您需要更多代码,请告诉我.

c++

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

不理解C++类型不匹配:const Foo*到Foo*const&

拥有这组对象和语句:

QSet<Foo*> set;
iterator QSet::insert(const T & value)    //type of the function I want to call
const Foo * get() const                   //type of the function I use to get the argument

set.insert(get());                        //the line showing up as error
Run Code Online (Sandbox Code Playgroud)

我得到错误"没有已知的转换参数1从'const Foo*'到'Foo*const&".我想我在阅读这些类型时遇到了麻烦,因为我不知道应该怎么做才能使这项工作成功.

根据我的阅读,const关键字适用于其左侧的类型,顶级const除外,它可以写入它应用的类型的左侧.我的猜测是我必须将get()转换为引用,但我不确定如何做到这一点.

c++ pointers const reference

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