标签: eval

为什么eval在这里失败?

0001: response
$[0] = [string] "{\"code\":200,\"id\":121}"
0001: eval(response)
SyntaxError: invalid label
Run Code Online (Sandbox Code Playgroud)

有谁知道?

javascript eval

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

传递给javascript的eval的单/双引号字符串之间有区别吗?

我有通过网络套接字发送的服务器消息.该消息是一个json(验证)字符串.当它到达浏览器时,我检查它是一个字符串,typeof(data)它告诉我它实际上是一个字符串.我最后这样做var some_obj = eval( '(' + data + ')' ); 会给我一个Uncaught SyntaxError: Unexpected token ILLEGAL错误.

此外,在使用之前eval(),我console.log(data)和它显示正确,虽然alert(data)在对话框中不会显示任何内容.

我无法理解发生了什么.

我也试过var myJson = '{ "x": "Hello, World!", "y": [1, 2, 3] }';,然后var myObj = eval( '(' + myJson + ')' );它工作,所以我真的不明白为什么我的无法评估(解析).

通过web-socket接收的字符串是这样的:

received 37 bytes » { "cmd": "setname", "params": "ok" }
Run Code Online (Sandbox Code Playgroud)

where data = { "cmd": "setname", "params": "ok" }(我猜的typeof(data)是引号,因为是= string).

有小费吗?谢谢

edit1»使用web-socket,你必须添加一个空字符(0 ascii)并将一个转义字符(255 …

javascript json eval websocket

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

C#如何逃避eval <%?

我有这样的代码:

<%# (int)Eval("Favorites") > 0 ? "<a href=\"history.aspx?visitorid=<%# Eval(\"VisitorID\") %\">Favorites</a> / " : ""%>
Run Code Online (Sandbox Code Playgroud)

我在哪里显示一个链接,如果值> 0 ..但是,当我将visitorID = <%#...%>放入另一个Eval <%时,它给了我一个错误的网址(history.aspx?visitorid =%3C%#%20Eval) #..%>

怎么逃避这个?谢谢

c# asp.net eval

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

Ruby - 将变量传递给eval方法

我有一个引用方法的变量,我用eval关键字调用该方法

a_test = "myvariable"
eval a_test


def myvariable
(...)
end
Run Code Online (Sandbox Code Playgroud)

我想将一个变量传递给方法,例如

def myvariable(var1)
(...)
end
Run Code Online (Sandbox Code Playgroud)

是否有人熟悉任何"成语"的方式来实现这一目标.做点什么

eval a_test "string_test" 
Run Code Online (Sandbox Code Playgroud)

自然会失败,因为解释器将对名为"a_test"的函数进行查找

ruby idioms eval metaprogramming function

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

为什么编译语言不具备"eval"功能?

昨天我和我的一个朋友开始讨论这个问题.他习惯于使用具有eval函数的解释语言(AS3,PHP)进行编码,并习惯使用编译语言(如C++).然后,我试图向他解释,在编译语言中使用eval功能是不可能的,因为本机代码对其源代码(变量,语法,反射(在C/C++的情况下)等)一无所知,并且这样,你就不能让任何函数在没有编译的情况下实时执行源代码(并且要编译它,你需要其余的源代码,所以这是不可能的).

你怎么看?这个论点足够坚固吗?您是否会提出任何其他论据来论证为什么编译语言不能具有eval功能?(请不要发布任何内容,也不要反对eval的想法).

c c++ eval compilation

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

将字符串设置为变量名称

可能重复:
如何在Python中使用与对象名称相同的字符串来访问对象本身?

我正在尝试根据匹配结果将名称更改为变量...

inds_EUR = [whatever]
inds_AFR = [foo]
inds_ASN = [other]

pop=inds_EUR ##imagine this is the case
for pp in ('EUR', 'AFR', 'ASN'):
    if pp in pop:
    paap='inds_'+str(pp)        
    break
foos=eval(paap)
Run Code Online (Sandbox Code Playgroud)

我正在尝试的是将"foos"设置为传递给此表达式的列表

matches = [item for item in inds_vcf if item in foos]
Run Code Online (Sandbox Code Playgroud)

它工作,但不知道使用这个eval()表达式是否危险,这里可能是因为它使用vars()我是以正确的方式做到的吗?

提前致谢,

佩希

python string eval

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

在某些条件Eval Asp.net上显示特定单词

<asp:Label ID="lblLeaveStatus" runat="server" Font-Bold="true" Text='<%# Eval("Leave_Status").ToString() == 'A' ? 'Approved' : 'Applied' %>'></asp:Label>
Run Code Online (Sandbox Code Playgroud)

GridView在某些条件下显示特定单词的条件

有可能这样的事情可以解决 Gridview

我收到错误服务器标签没有很好地形成

c# asp.net gridview repeater eval

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

在PHP 7中不鼓励使用Eval

我在字符串敌人的例子中得到了公式

$a = '1*2*(2+3)';
echo eval($a) // Output should be 10
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试评估此字符串并使用eval,但在PHP 7中给我这个错误不鼓励使用eval(),所以我如何评估此字符串.

eval php-7

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

如何通过将其名称作为字符串来使用函数

假设您要使用MATLAB中定义的函数序列,并将这些函数的名称作为字符串变量.假设你已经创建了fun1,, fun2... funN,并且你还有一个字符串向量['fun1','fun2',...,'funN'].如何自动调用每个函数而不必逐个写入每个函数的名称?

string matlab eval function sequence

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

为什么eval("assert(True)")在python中失败?

看这个:

>>> eval("assert(True)")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1
    assert(True)
         ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

评估像这样的其他功能工作正常:

>>> eval("str(5)")
'5'
Run Code Online (Sandbox Code Playgroud)

那么为什么evaling断言失败?

python assert eval

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