小编Gre*_*een的帖子

在php中有什么方法可以使SWITCH opreator比较严格吗?

我有这样的控制结构:

switch ($var) {
   case TRUE: 
   break;

   case FALSE:
   break;

   case NULL:
   break;
}
Run Code Online (Sandbox Code Playgroud)

我的NULL情况从未被调用,因为我在php手册中找到:

请注意,开关/外壳确实松动了比较.

我知道我可以使用IF而不是SWITCH但我不想,我已经IF'sCASE我的每一个中都有一些SWITCH.

有没有办法以某种方式重写SWITCH或使用一些技巧使它比较严格的值?

php if-statement switch-statement

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

如何在C++中创建指向多维数组int的指针?

我知道如何创建一个多元数组标准方式:

const int m = 12;
const int y = 3;
int sales[y][n];
Run Code Online (Sandbox Code Playgroud)

而且我知道如何创建指向一个维度数组的指针:

int * ms = new int[m];
Run Code Online (Sandbox Code Playgroud)

但是有可能创建一个指向多重阵列的指针吗?

int * sales = new int[y][m];   // doesn't work
int * mSales = new int[m];    // ok
int * ySales = new int[y];    // ok
mSales * ySales = new mSales[y];    // doesn't work, mSales is not a type
Run Code Online (Sandbox Code Playgroud)

如何创建这样的指针?

c++ arrays int pointers multidimensional-array

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

在BEGIN ... END上下文或外部和LOOP语法中启动TRANSACTION

我有两个关于MySQL中的复合语句和事务的问题.

第一:

MySQL手册中有两个注释:

注意

在所有存储的程序中,解析器将BEGIN [WORK]视为BEGIN ... END块的开头.要在此上下文中开始事务,请改用START TRANSACTION.

注意

在所有存储的程序(存储过程和函数,触发器和事件)中,解析器将BEGIN [WORK]视为BEGIN ... END块的开头.在此上下文中使用START TRANSACTION开始交易.

我无法理解究竟是什么意思.他们的意思是我必须START TRANSACTION代替BEGIN或之后放BEGIN

// 1st variant:

BEGIN
   START TRANSACTION
   COMMIT
END


// 2nd variant:

START TRANSACTION
COMMIT
END
Run Code Online (Sandbox Code Playgroud)

哪一种是正确的方式,第一种变体或第二种变体?

第二:

我不想创建存储过程或函数.我只想在常规流程中创建一个带有循环的Compound-Statement Block,如下所示:

USE 'someDb';
START TRANSACTION
   ... create table statement
   ... insert statement

// now I want to implement some insert/select statements using loop, I do as follows:

DELIMITER $
BEGIN
  SET @n = 1, @m = 2;
  lab1: LOOP …
Run Code Online (Sandbox Code Playgroud)

mysql loops stored-procedures transactions

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

ZF2 - 如何更改错误/ 404响应页面?不只是模板,而是设置新的ViewModel

默认情况下,页面在Applicationmodule.config数组中设置如下:

'template_map' => array(
    'error/404' => __DIR__ . '/../view/error/404.phtml'
Run Code Online (Sandbox Code Playgroud)

我想改变页面.我想要新ViewModel的变量充满变数.这意味着仅仅更改模板是不够的:

'error/404' => __DIR__ . '/../view/error/my_new_404_template.phtml'
Run Code Online (Sandbox Code Playgroud)

但我无法理解如何制作它.我无法看到请求的方式'error/404'.

  • 如何ViewModel为它创造新的?

  • 如何将变量附加到它?

  • 如何通过路线来'error/404'改变它?

例如,我有这样的'error/404'页面方法:

public function pageNotFoundAction() {

    $view = new ViewModel();

    $view->setTemplate('error/404');     // set my template

    $sm = $this->getServiceLocator()->get('SessionManager');
    $cont = new Container('SomeNamespace', $sm);

    $view->var1 = $cont->offsetGet('someValue1');   // the "error/404" template
    $view->var2 = $cont->offsetGet('someValue2');   //       is full of variables
    $view->var3 = $cont->offsetGet('someValue3');
    $view->var4 = "One more view variable";

    // And now …
Run Code Online (Sandbox Code Playgroud)

php zend-framework-mvc zend-view http-status-code-404 zend-framework2

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

Ruby中<=>运算符的名称是什么?他们怎么称呼它?

在Ruby中有<=>运算符.在API中,他们没有命名,只是:

该类必须定义<=>运算符...

可比较使用<=>实现传统比较......

...集合中的对象还必须实现有意义的<=>运算符...

它叫什么名字?

ruby ruby-1.9 spaceship-operator

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

错误:没有这样的 API 密钥。请将其添加到您的配置中(在初始“gem Push”时自动完成)。如何解决这个问题?

我想在 Rubygems 上推送宝石。但我总是收到这样的消息:

C:\ruby\my_gem>gem push my_gem-0.0.1.gem -k rubygems_api_key
Pushing gem to https://rubygems.org...
ERROR:  No such API key. Please add it to your configuration (done automatically on initial `gem push`).
Run Code Online (Sandbox Code Playgroud)

我已将密钥设置为C:\Documents and Settings\User\.gem\credentials

---
rubygems_api_key: e06b38 ...
:rubygems_api_key: e06b38 ...
Run Code Online (Sandbox Code Playgroud)

我从 Rubygems 的个人资料页面复制/粘贴它。所以它是正确的。但我收到错误。问题是什么?怎么解决呢?

ruby rubygems

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

有没有办法轻松重命名现有的Rails引擎?

有一个用于重命名现有Rails应用程序的插件 - https://github.com/get/Rename

但有没有一些解决方案可以轻松完全重命名现有的Rails引擎?

ruby-on-rails-plugins rails-engines ruby-on-rails-3.2

5
推荐指数
0
解决办法
418
查看次数

/ bower_components不会在页面上加载依赖项

/bower_components 不起作用.

我收到404错误:

GET /bower_components/jquery/jquery.js 404
Run Code Online (Sandbox Code Playgroud)

我的配置如Bower文档中所述,此处:

app.use(express.static(path.join(__dirname, 'public')));
app.use('/bower_components',  express.static(__dirname + '/bower_components'));
Run Code Online (Sandbox Code Playgroud)

在我的.html文件中,我有:

<script src="/bower_components/jquery/jquery.js"></script>
Run Code Online (Sandbox Code Playgroud)

但没有/bower_components/jquery/jquery.js.有\bower_components\jquery\dist\jquery.js.他们是否更改了Bower软件包的配置但忘记更改文档?

javascript jquery node.js bower

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

React中的校验和是什么以及如何使用它?

我正在阅读React服务器端渲染的这个例子.它指出:

尝试查看页面源以确保已经呈现从服务器发送的HTML(使用校验和来确定是否需要客户端呈现)

好的,我看到了页面源,确实有一个data-react-checksum属性:

<div data-reactid=".157rq30hudc" data-react-checksum="556954499">
Run Code Online (Sandbox Code Playgroud)

当我在浏览器控制台中检查元素时,它还具有以下属性:

在此输入图像描述

然后我决定检查我的网站也使用React服务器端渲染.而且我看到奇怪的事情.页面源具有data-react-checksum属性,但元素是控制台没有.

页面来源:

<div class="activityOptionBox" data-reactid=".1l6uko4wt8g" data-react-checksum="168103090">
Run Code Online (Sandbox Code Playgroud)

安慰:

在此输入图像描述

这是什么意思?什么checksum以及如何阅读/使用它?

reactjs

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

未捕获错误:不变违规:元素类型无效:对象

我正在摆弄react-router,试图实现简单的路由.我在他们的例子中写了我的代码(但没有imports)https://github.com/rackt/react-router#whats-it-look-like.

我在浏览器中收到此错误:

未捕获错误:不变违规:元素类型无效:期望一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:object.

这就是我的工作.

我在页面上附加脚本,ReactRouter.min.js我的代码在react-routes.js.而且还reactreact-dom和jQuery(所有三个app.js):

<script src="/js/app.js" type="text/javascript" charset="utf-8"></script>
<script src="https://npmcdn.com/react-router/umd/ReactRouter.min.js"></script>
<script src="/js/react-routes.js" type="text/javascript" charset="utf-8"></script>
Run Code Online (Sandbox Code Playgroud)

这是我的react-router.js,尚未编译:

'use strict';
window.Router = window.ReactRouter;
window.Link = window.ReactRouter.Link;
window.Route = window.ReactRouter.Route;

const Foo = React.createClass({
    render() {
        return (
            <div>
                <h1>HELLO, me FOO</h1>
            </div>
        )
    }
});

ReactDOM.render((
    <Router>
        <Route path="/" >
            <Route path="/page/one" component={Foo}/>
        </Route>
    </Router>
), document.getElementById('content-section'))
Run Code Online (Sandbox Code Playgroud)

这是我react-router.js与Babel汇编后的.我在页面上正好附上了这个:

babel --presets react -o …

reactjs react-router react-router-component react-routing

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