标签: eval

matlab变量中的函数名称和参数

在我的matlab m文件中,我使用一些逻辑(字符串concat)来构建这样的变量:

c = 'CalcPrediction(1,10)'
Run Code Online (Sandbox Code Playgroud)

这意味着我有一个字符串,它是一个函数和一些参数.我该怎么做那个函数调用?

尝试运行(c)会导致:

>> run(c)
??? Error using ==> run at 71
CalcPrediction(1,10) not found.
Run Code Online (Sandbox Code Playgroud)

注意:如果没有参数,run(c)可以正常工作.例如c ='CalcPrediction'; 运行(C);

matlab eval

0
推荐指数
1
解决办法
2256
查看次数

计算对eval的调用

我想计算在我们的javascript应用程序中对eval进行的调用次数.

我想出了以下内容,但它会产生错误.这些错误很难跟踪,而且我对应用程序的了解有限.

你能告诉我的代码有什么问题吗?

increment = function (){
  var me = arguments.callee;
  if (!me.count) me.count = 0;
  return ++me.count;
}

var oldEval = eval;

eval = function eval(string){       
  console.log('eval number ', increment());
  return oldEval(string);
}
Run Code Online (Sandbox Code Playgroud)

或者你知道另一种计算eval使用的方法吗?

谢谢

奥利维尔

javascript overriding eval

0
推荐指数
1
解决办法
509
查看次数

通过JavaScript中的字符串调用函数并保持在范围内

我一直在玩,并且搜索了一下,但我无法弄清楚这一点.我在JavaScript对象中有一个伪私有函数,需要通过eval调用(因为函数的名称是动态构建的).但是,函数被闭包隐藏在全局范围内,我无法弄清楚如何使用eval()来引用它.

例如:

var myObject = function(){
    var privateFunctionNeedsToBeCalled = function() {
        alert('gets here');
    };

    return {
        publicFunction: function(firstPart, SecondPart) {
            var functionCallString = firstPart + secondPart + '()';
            eval(functionCallString);
        }
    }
}();

myObject.publicFunction('privateFunctionNeeds', 'ToBeCalled');
Run Code Online (Sandbox Code Playgroud)

我知道这个例子看起来很傻但我想保持简单.有任何想法吗?

javascript scope eval private function

0
推荐指数
1
解决办法
210
查看次数

Objective-C代码的"eval"

evalObjective-C中是否存在类似Javascript,Ruby,PHP或Python的方法?

我使用PhoneGap,我想创建一个特定于我的每个项目的窗口,我不能使用HTML文件.所以我想从JavaScript调用一个方法,其中一个参数是Objective-C代码,需要解释.

eval objective-c cordova

0
推荐指数
1
解决办法
2566
查看次数

用eval(PHP)定义一堆函数

这是否接近可以接受的东西?我需要为每个HTML标记创建一个函数,并且需要将它们定义为以后在Heredoc字符串中使用.到目前为止这是我的代码.

<?php
$tags = array (h1, h2, h3, b, i);

foreach ($tags as $key => $value)
{
    eval ('function '.$value.' ($str) { return "<'.$value.'>$str</'.$value.'>"; }');
}
Run Code Online (Sandbox Code Playgroud)

这基本上处理了关于heredoc中的函数的Heredoc问题.一个简单的例子:

<<<example
<h1>This is ordinary HTML</h1>
{$h1('This is HTML via. PHP')}
example;
Run Code Online (Sandbox Code Playgroud)

我心里都做了所有的代码,所以如果它们包含任何错误,请不要惊讶.我还没有执行eval-function,但它看起来还不错.无论如何,我的问题是:这是好的,还是更好的做法:

function h1 ($str) { return ...; }
function h2 ($str) { return ...; }
function h3 ($str) { return ...; }
function b ($str) { return ...; }
function i ($str) { return ...; }
Run Code Online (Sandbox Code Playgroud)

等等 ..?

php eval function heredoc

0
推荐指数
1
解决办法
750
查看次数

创建一个包含字符串属性的对象文本

如何创建一个从变量中评估属性名称的对象?

例如:

我有变量 myString = 'aString'

我想创建对象:

var obj = {
    aString : "value";
}
Run Code Online (Sandbox Code Playgroud)

我想用变量myString来创建它.

我提出的唯一解决方案是这样的:

var string = '{"' + myString + '": value }';
var obj = $.parseJSON(string);
Run Code Online (Sandbox Code Playgroud)

我怎样才能使这更有效,更清洁?

javascript json eval object-literal

0
推荐指数
1
解决办法
521
查看次数

通过引用传递字典而不是使用eval /如何传递可变数量的参数

我正在阅读一些关于不在python代码中使用exec或eval的问题.

我目前有一个基于金字塔的python web程序,它从表单中获取一些变量并调用一个函数.这个函数的所有参数或者是可选的,因此我或多或少都是这样做的

command = 'function_to_be_called ('

if optional_variable_in_form in request.params :
    command += 'optional_variable=optional_variable_in_form'

command += ')'

i = eval (command)
Run Code Online (Sandbox Code Playgroud)

我正在尝试增强我的应用程序,我正在尝试用其他东西替换eval.我找到了这个答案,作者建议通过引用传递字典而不是使用我的解决方案.

所以我的问题是:

  1. 你觉得这是一个好方法吗?
  2. 我可以随时将作者提出的字典传递给任何函数吗?
  3. 我发现很多**,但我不太了解它的作用.你能给我一个暗示或建议一个好的页面,我可以研究它吗?

python eval pyramid

0
推荐指数
1
解决办法
6855
查看次数

文件中的评估行

我正在创建一个将选项存储在txt文件中的程序,我尝试了几行不同的操作,但到目前为止,我认为an eval是最好的。

我在文件中得到此信息:

colordefondo = "#abcdef"
Run Code Online (Sandbox Code Playgroud)

eval在程序中得到了这个:

for line in open("filename.txt", "r"):
  eval(line)
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试代码时,它给了我这个错误:

Traceback (most recent call last):
File "D:\project-sae\Sae.py", line 25, in <module>
eval(line)
File "<string>", line 1
colordefondo = "#abcdef"
             ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么?而且,如果有人知道从txt文件加载和存储几个选项的值的更好方法,那就太好了。不过,我的问题是为什么eval失败了,我对eval工作原理的了解似乎是错误的,而且我也不知道为什么,以前曾多次使用它,但从未从文件中获取过。

python eval file

0
推荐指数
1
解决办法
1280
查看次数

如何在python中编写这个eval?

我想dict y1~y10[name]用给定的列表来评估以下内容.

我知道使用eval(self.y$i[name]) = value是错误的,但我应该如何在python中执行此操作?

class excel:
    def __init__(self):
        self.base_year = 2004
        self.y1 = {'year':self.base_year}
        self.y2 = {'year':self.base_year + 1}
        self.y3 = {'year':self.base_year + 2}
        self.y4 = {'year':self.base_year + 3}
        self.y5 = {'year':self.base_year + 4}
        self.y6 = {'year':self.base_year + 5}
        self.y7 = {'year':self.base_year + 6}
        self.y8 = {'year':self.base_year + 7}
        self.y9 = {'year':self.base_year + 8}
        self.y10 = {'year':self.base_year + 9}
    def value(self, name, value_list):
        for value, i in value_list, range(1, 10):
            eval(self.y$i[name]) = value

list = …
Run Code Online (Sandbox Code Playgroud)

python eval

0
推荐指数
1
解决办法
87
查看次数

如何循环并使用每次迭代Ruby创建一个新对象?

我看到了这个问题的几个变种,但并没有真正找到一个可靠的答案.

所以我有一系列的URL.我想循环遍历该数组,对于每个单独的URL,我将创建一个类WebPages的实例.

因此,如果数组URLS中有5个URL,那么我将创建5个WebPages对象.我尝试使用eval()来做到这一点,但很快就知道eval生成的实例有一个非常局部的范围,之后我不能使用那些WebPage对象.

string_to_eval = @urls.map{|x| "webpage#{urls.index(x)} = WebPage.new('#   {x}')"}.join(';')
puts string_to_eval
eval(string_to_eval)
Run Code Online (Sandbox Code Playgroud)

String_to_eval打印出来:

webpage0 = WebPage.new('http://www.google.com');
webpage1 = WebPage.new('http://www.yahoo.com');
webpage2 = WebPage.new('http://www.amazon.com');
webpage3 = WebPage.new('http://www.ebay.com')
Run Code Online (Sandbox Code Playgroud)

如何在Ruby中循环的每次迭代中创建一个对象?有没有解决的办法?

ruby loops eval object

0
推荐指数
1
解决办法
716
查看次数