草庐IT

Instance_eval

全部标签

ruby - 您是否曾在任何 Ruby 代码中使用过 "class instance variable"?

我能理解为什么您需要一个类变量来跟踪诸如已在该类中实例化的对象总数之类的事情。我能理解为什么您需要一个实例变量来存储该类中特定对象的属性。但是类实例变量我似乎无法证明。据我了解,它们就像类变量一样,只是它们对子类不可见,就像类变量一样。看来它的用途非常有限。还是我错了?有没有人在他们的代码中发现类实例变量的一个很好的用途?或者,您能否举例说明这种细微差别会很有值(value)的情况? 最佳答案 假设你想统计一个类(不包括子类)的实例数classA@count=0@@count=0defself.inherited(subclass)

ruby-on-rails - 为什么在 class_eval 本身就足够时使用 include 模块

在下面的代码中使用了include模块。如果删除包含模块,那么我看到它的方式也会创建一个实例方法。那为什么用户包含模块?http://github.com/rails/rails/blob/master/activerecord/lib/active_record/associations.rb#L1416includeModule.new{class_eval 最佳答案 首先让我们弄清楚一件事。当他们在class_eval中调用super时——这与他们使用includeModule.new{}的原因完全无关。事实上,在destro

发送和 instance_eval 之间的 Ruby 区别?

我知道send接受带有参数的字符串或符号,而instance_eval接受字符串或block,并且它们的区别在给定接收者时可能很明显。我的问题是下面示例的“幕后”区别是什么?1234.send'to_s'#'1234'1234.instance_eval'to_s'#'1234' 最佳答案 来自finemanual:send(symbol[,args...])→objsend(string[,args...])→objInvokesthemethodidentifiedbysymbol,passingitanyargumentssp

javascript - JavaScript 的 eval() 什么时候不是邪恶的?

我正在编写一些JavaScript代码来解析用户输入的函数(用于类似电子表格的功能)。解析公式后,我可以将其转换为JavaScript并在其上运行eval()以产生结果。但是,如果我可以避免使用eval(),我总是回避它,因为它是邪恶的(而且,无论对错,我一直认为它在JavaScript中更加邪恶,因为要评估的代码可能会被用户更改)。那么,什么时候可以使用呢? 最佳答案 我想花一点时间来解决您的问题的前提-eval()是“evil”。“evil”这个词,被编程语言的人使用,通常意味着“危险”,或者更准确地说是“能够用一个简单的命令造

javascript - JavaScript 的 eval() 什么时候不是邪恶的?

我正在编写一些JavaScript代码来解析用户输入的函数(用于类似电子表格的功能)。解析公式后,我可以将其转换为JavaScript并在其上运行eval()以产生结果。但是,如果我可以避免使用eval(),我总是回避它,因为它是邪恶的(而且,无论对错,我一直认为它在JavaScript中更加邪恶,因为要评估的代码可能会被用户更改)。那么,什么时候可以使用呢? 最佳答案 我想花一点时间来解决您的问题的前提-eval()是“evil”。“evil”这个词,被编程语言的人使用,通常意味着“危险”,或者更准确地说是“能够用一个简单的命令造

javascript - angular.fromJson 和 $scope.$eval 应用于 JSON 字符串时的区别

在我的angularjs应用程序中,我通常使用angular.fromJson解析JSON字符串,如下所示:varmyObject=angular.fromJSON(jsonString);但是,我似乎可以通过使用$scope.$eval获得相同的结果:varmyObject=$scope.$eval(jsonString);Seethisfiddle或者通过使用vanillajavaScript,像这样:varmyObject=JSON.parse(jsonString);使用angular.fromJSON而不是JSON.parse有什么特别的原因吗?使用$scope.$eval解

javascript - angular.fromJson 和 $scope.$eval 应用于 JSON 字符串时的区别

在我的angularjs应用程序中,我通常使用angular.fromJson解析JSON字符串,如下所示:varmyObject=angular.fromJSON(jsonString);但是,我似乎可以通过使用$scope.$eval获得相同的结果:varmyObject=$scope.$eval(jsonString);Seethisfiddle或者通过使用vanillajavaScript,像这样:varmyObject=JSON.parse(jsonString);使用angular.fromJSON而不是JSON.parse有什么特别的原因吗?使用$scope.$eval解

javascript - Chrome 扩展 "Refused to evaluate a string as JavaScript because ' unsafe-eval'

我有一个错误:RefusedtoexecuteinlinescriptbecauseitviolatesthefollowingContentSecurityPolicydirective:"script-src'self'chrome-extension-resource:".Eitherthe'unsafe-inline'keyword,ahash('sha256-...'),oranonce('nonce-...')isrequiredtoenableinlineexecution.chrome-extension://ldbpohccneabbobcklhiakmbhoblcp

javascript - Chrome 扩展 "Refused to evaluate a string as JavaScript because ' unsafe-eval'

我有一个错误:RefusedtoexecuteinlinescriptbecauseitviolatesthefollowingContentSecurityPolicydirective:"script-src'self'chrome-extension-resource:".Eitherthe'unsafe-inline'keyword,ahash('sha256-...'),oranonce('nonce-...')isrequiredtoenableinlineexecution.chrome-extension://ldbpohccneabbobcklhiakmbhoblcp

javascript - 为什么 JavaScript 的 eval 需要括号来评估 JSON 数据?

我已经(艰难地)了解到我需要在JSON数据周围添加括号,如下所示:stuff=eval('('+data_from_the_wire+')');//wheredata_from_the_wirewas,forexample{"text":"hello"}(至少在Firefox3中)。这背后的原因是什么?我讨厌在不了解幕后内容的情况下编写代码。 最佳答案 eval接受一系列Javascript语句。Javascript解析器将出现在语句中的“{”标记解释为block的开始,而不是对象字面量的开始。当您将文字括在这样的括号中时:({da