小编Aja*_*esh的帖子

为什么Try-Catch块会影响封闭范围内的变量?

为什么temp在捕获到第一个异常后外部变成空的?

#include <iostream>
int main()
{
    std::string temp("exception");
    int value;
    while(std::cin>> value && value != 0)
    {
         try{
              if(value > 9) throw temp;
              else std::cout << value << "\n";
            }
         catch(std::string temp)
         {
              std::cout << temp << "\n";
         }
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输入:

1
2
11
13
Run Code Online (Sandbox Code Playgroud)

输出:

1
2
exception
// Printing Empty string
Run Code Online (Sandbox Code Playgroud)

预期产量:

1
2
exception
exception
Run Code Online (Sandbox Code Playgroud)

我使用g ++ 7.3.0编译代码。

c++ try-catch

41
推荐指数
1
解决办法
2098
查看次数

如何动态创建嵌套元素?

我有这个字符串数组var arr = ["ul", "li", "strong", "em", "u"]

我如何才能将它们从左到右在另一个内部变成DOM元素,第一个元素作为根元素。由于某些原因而不使用ID。

也许通过使用循环使其对任意数量的元素都具有灵活性。

var new_element = document.createElement(arr[0]);

我期待这样的事情:

<ul>
    <li><strong><em><u>Text Here</u></em></strong></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

谢谢。

html javascript dom

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

Perl:将一个字节加上STDIN传递给另一个命令

我想有效地做到这一点:

my $buf;
my $len = read(STDIN,$buf,1);
if($len) {
    # Not empty                                                                                                          
    open(OUT,"|-", "wc") || die;
    print OUT $buf;
    # This is the line I want to do faster
    print OUT <STDIN>;
    exit;
}
Run Code Online (Sandbox Code Playgroud)

任务是wc仅在有任何输入时启动.如果没有输入,程序应该退出.

wc这只是一个例子.它将被一个更复杂的命令所取代.

输入可能是几TB的数据,所以我真的不想触摸那些数据(甚至没有a sysread).我试过做:

    pipe(STDIN,OUT);
Run Code Online (Sandbox Code Playgroud)

但这不起作用.有没有其他方法可以告诉OUT,在获得第一个字节后,它应该只读取STDIN?也许一些开放式("> =&2")体操结合exec

io perl

8
推荐指数
1
解决办法
221
查看次数

如何不用包路由超载主路由?

主要应用路线:

Route::get('/login', [
    'as' => 'user.login', 
    'uses' => 'LoginController@login'
];
Route::get('/logout', [
    'as' => 'user.logout', 
    'uses' => 'LoginController@logout'
];
Route::get('/admin', [
    'as' => 'admin.index', 
    'uses' => 'AdminController@index'
];
Run Code Online (Sandbox Code Playgroud)

我有一个包(供应商)(例如:metrakit/mypackage)和一个routes.php文件.在这个文件中我有一个路线:

Route::get('/{slug}', [
    'as' => 'item.show', 
    'uses' => 'ItemController@show'
]; 
Run Code Online (Sandbox Code Playgroud)

这条路线超载了我所有的主要路线!我的路由如"/ login","/ logout","/ bob",......都被重定向到我的控制器ItemController.

我不想有像这样的路线

Route::get('/item/{slug}', array('as' => 'item.show', 'uses' => 'ItemController@show'); 
Run Code Online (Sandbox Code Playgroud)

我想,我必须这样做一个路线模式:

Route::pattern('slug', '^((?!(login|logout|admin)).)*$'); 
Run Code Online (Sandbox Code Playgroud)

但它看起来有点脏,而且不是动态的.

所以我正在寻找更好的解决方案.

php laravel laravel-4 laravel-routing

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

如何使用一个Alter table语句重命名oracle中的多个列?

我发现的唯一一件事是一次重命名一列:

ALTER TABLE table_name
RENAME COLUMN old_name TO new_name;
Run Code Online (Sandbox Code Playgroud)

我阅读了 Oracle 文档,但一次无法获得许多列的答案。

参考:https : //docs.oracle.com/javadb/10.6.2.1/ref/rrefsqljrenamecolumnstatement.html

oracle ddl plsql alter

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

Mac Mini中的Laravel安装错误

我正在尝试在我的Mac Mini中安装Laravel并且一直在收到错误.

错误:

Writing lock file
Generating autoload files
Mcrypt PHP extension required.
Script php artisan clear-compiled handling the post-install-cmd event returned with an error



[RuntimeException]  
Error Output:       



create-project [-s|--stability="..."] [--prefer-source] [--prefer-dist] [--repository-url="..."] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--keep-vcs] [--no-install] [--ignore-platform-reqs] [package] [directory] [version]
Run Code Online (Sandbox Code Playgroud)

一个月前我安装了Laravel 4.2,运行良好.但是现在当我安装新的Larvel 4.2时,它给出了上面给出的错误.

我使用内置的PHP,mySql,phpMyAdmin.(不是MAMP或XAMP)

我已经安装了mcrypt扩展.

php mcrypt laravel laravel-4

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

如何使此代码具有响应性

如何使这个响应.我正在处理单页响应式网站,我已将此代码替换为提交按钮.在桌面视图中,它工作正常.当我在移动设备上查看它时,我看不到提交按钮.

<div style="padding-left: 500px" class="bt-contact">
  <input style="width: 130px" class="des-button-dark des-button-dark-1 des-button-dark-1d" id="button-s"  name="submit" type="submit" value="Submit" >
</div>
Run Code Online (Sandbox Code Playgroud)

html css

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

我如何用玩笑测试承诺延迟?

这是我用来延迟进程的代码(用于退避)

export function promiseDelay(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}
Run Code Online (Sandbox Code Playgroud)

我想测试它,但我不能。我尝试使用 fakeTimers 但我的测试从未结束。

test('promiseDelay delays for 1s', async (done) => {
    jest.useFakeTimers();
    Promise.resolve().then(() => jest.advanceTimersByTime(100));
    await promiseDelay(100);
  });
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6 es6-promise jestjs babel-jest

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