小编Geo*_*gan的帖子

如何在Ruby中拯救eval?

我正在试图找出如何解决eval()在Ruby 1.8.6中使用代码时出现的语法错误.

我希望以下Ruby代码:

#!/usr/bin/ruby

good_str = "(1+1)"
bad_str = "(1+1"    # syntax error: missing closing paren

begin
    puts eval(good_str)
    puts eval(bad_str)
rescue => exc
    puts "RESCUED!"
end
Run Code Online (Sandbox Code Playgroud)

运行时产生以下结果:

2
RESCUED!
Run Code Online (Sandbox Code Playgroud)

相反,我得到的是:

2
eval_rescue.rb:8: (eval):1: compile error (SyntaxError)
(eval):1: syntax error, unexpected $end, expecting ')'
Run Code Online (Sandbox Code Playgroud)

似乎eval方法引发的SyntaxError正在eval中的某个地方被拯救,而我没有机会自己处理它.

任何人都知道如何获得我想要的行为(即,我的'rescue'条款从'eval'中捕获错误)?

ruby eval exception rescue

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

Angular 2 setters vs ngOnChanges

如果要在组件/指令输入更改后运行某些代码,可以使用setter或ngOnChangeshook,但在另一个上使用one有什么好处?或者他们完全一样?

  @Input()
  set someInput( val ) {
    this.runSomething();
  }

  ngOnChanges(changes) {
     this.runSomething();
  }
Run Code Online (Sandbox Code Playgroud)

javascript angular

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

Debug.Print与Debug.WriteLine

Debug.Print和之间有什么区别Debug.WriteLine?MSDN中两者的摘要是相同的:

将一个消息后跟一个行终止符写入Listeners集合中的跟踪侦听器.

Debug.WriteLine有更多的重载.我看不出有什么理由Debug.Print会被用来代替Debug.WriteLine

c# debugging

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

ReactJs全球助手功能

问题:我有很多小辅助函数,它们不一定需要存在于一个组件中(或者可能它们可以但是它们会使该组件膨胀很多代码).我懒惰的一方只是想让那些全部只是某些组件可以调用的全局函数.我真的想要制作好的ReactJs代码.

问题:Reactjs中全局帮助函数的最佳实践是什么?我应该强迫它们进入某种组件还是将它们推入其他组件?

基本示例:

function helperfunction1(a, b) {
    //does some work
    return someValue;
}

function helperfunction2(c, d) {
    //does some work
    return someOtherValue;
}

function helperfunction3(e, f) {
    //does some work
    return anotherValue;
}

function helperfunction4(a, c) {
    //does some work
    return someValueAgain;
}


var SomeComponent =
    React.createClass({

        //Has bunch of methods

        //Uses some helper functions

        render: function () {

        }

    });

var SomeOtherComponent =
    React.createClass({

        //Has bunch of methods

        //Uses some helper functions

        render: function () {

        }

    });
Run Code Online (Sandbox Code Playgroud)

components function global-methods reactjs

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

递归函数的空间复杂性

鉴于以下功能:

int f(int n) {
  if (n <= 1) {
    return 1;
  }
  return f(n - 1) + f(n - 1);
} 
Run Code Online (Sandbox Code Playgroud)

我知道Big O时间复杂度是O(2^N)因为每次调用都会调用该函数两次.

我不明白为什么空间/内存的复杂性是O(N)什么?

big-o space-complexity

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

如何在ASP.NET页面上注册自定义服务器控件

我有一个项目,我正在尝试在页面上注册自定义服务器控件(没有.ascx文件).我目前正在使用

班级宣言

namespace MyApp.Controls{
    public class CustomControl: WebControl{
        public string Text
        {
            get
            {
                String s = (String)ViewState["Text"];
                return ((s == null) ? String.Empty : s);
            }
            set
            {
                ViewState["Text"] = value;
            }
        }        
        protected override void RenderContents(HtmlTextWriter output)
        {
            output.Write(Text);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的页面上,

<%@ Register TagPrefix="myControls" Namespace="MyApp.Controls" %>
<myControls:CustomControl runat="server" Text="What up!" />
Run Code Online (Sandbox Code Playgroud)

我收到一个Parser Error,消息"Unknown server tag'myControls:CustomControl'."

我究竟做错了什么?

asp.net custom-server-controls servercontrols asp.net-customcontrol asp.net-controls

24
推荐指数
4
解决办法
3万
查看次数

变量指的是它自己

我读了很多关于如何在机器Zend中构造变量的文章,发现了一件我无法解释的有趣的事情:

$int = 100;
xdebug_debug_zval('int'); /// int:(refcount=1,is_ref=0),int 100
$int = &$int;
xdebug_debug_zval('int'); /// int:(refcount=1,is_ref=1),int 100
Run Code Online (Sandbox Code Playgroud)

事实证明我们正在创建自己的链接?这怎么可能?

清楚我所知道的信息:

通常is_ref = 1只有当容器引用zval两个或多个硬链接变量时.

refcount- 变量的数量是指同一个zval容器,但区别在于不同的refcount用is_ref = 0is_ref = 1.

如果is_ref = 0refcount > 1创建硬链接时,我们得到一个新的zval容器,如果我们按值进行赋值 - 将不会创建新的zval容器.

如果is_ref = 1,并且refcount > 1在创建硬链接时未创建新的zval,则使用旧的.如果我们不创建硬链接,但是通过值进行分配 - 这意味着我们创建了新的zval容器.

PS我写这篇文章是为了表明理解我问并说明为什么我不理解我上面写的代码的行为

php reference

23
推荐指数
1
解决办法
605
查看次数

跨越标签内的onclick事件

示例代码

<a href="page" style="text-decoration:none;display:block;">
    <span onclick="hide()">Hide me</span>
</a>
Run Code Online (Sandbox Code Playgroud)

由于a标签已超出跨度,因此无法单击它.我尝试z-index但是没有用

html css html5 css3

22
推荐指数
3
解决办法
21万
查看次数

node.js modules:Async vs Fibers.promise vs Q_oper8

只是想知道是否有人可以给我比较这些模块之间的权衡以处理异步事件.具体来说,我有兴趣知道使用Async而不是Fibers.promise的原因,我现在至少在我的测试代码中使用得非常广泛.特别是,我在Fibers.promise中看到的一个主要优点是我可以保持堆栈链前面分叉,使其可以使用try { } catch { } finally,并且还允许我在处理请求后确保响应结束.

有人使用Q_oper8吗?我在另一页上发现了这个,只是想知道它是否已经死了或者我应该检查一下.

multithreading asynchronous node.js node-modules

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

AngularJS ng-controller无法正常工作

我刚刚开始从w3schools学习AngularJS .我正在尝试练习他们在教程中提到过的示例.一切正常,但是当我来到"AngularJS控制器"时,它在w3schools中运行良好并不能正常工作自己动手».我把我的代码分成了这个小提琴的例子.我的脚本看起来像这样:

function personController($scope) {
    $scope.firstName= "John";
    $scope.lastName= "Doe";
}
Run Code Online (Sandbox Code Playgroud)

尽量帮助我,并建议我一个很好的教程(或任何免费的PDF文件).

html javascript angularjs angularjs-controller

21
推荐指数
3
解决办法
4万
查看次数