在我的Java代码中,我有这个片段:
String str = "\\u9601";
Run Code Online (Sandbox Code Playgroud)
但我希望它是:
String str = "\u9601";
Run Code Online (Sandbox Code Playgroud)
这代表了一个广泛的角色.
有办法做到这一点吗?
请帮忙.提前致谢.
补充:
对不起描述的问题很抱歉.
System.out.print("\u9601"); //this will display a Chinese character
Run Code Online (Sandbox Code Playgroud)
我目前要求使用JSON进行响应的网页(URL).如果使用"是System.out.print"转储到控制台时,JSON就会变成是6个可见字符 \,ü,9,6,0和1,而不是中国的字符蚀.
所以实际上我想要的是API可以将"\\ u9601"转换为"\ u9601",因为我无法硬编码Java源代码来自网站.
在工作中,我在尝试使用Scheme实现配置脚本时遇到了一个基本问题.为了避免发明一种人为的和受限制的语言,脚本应该包含实际的代码.稍后将对此代码进行评估.要使配置按需工作,必须能够访问某些变量.这些变量仅在评估的上下文中已知.因此,必须在当前环境中评估配置脚本.这是我所说的一个原始的例子:
(let ((a #t))
(wr "a is ..."
(eval '(if a "true" "false"))))
Run Code Online (Sandbox Code Playgroud)
运行此代码时,我总是收到一条错误消息,告诉我变量'a'未知.所以问题是:你知道如何评估当前环境中的冻结代码吗?
PS:我使用bigloo编译器.
/////////////////////////////////////////////编辑:/// ////////////////////////////////////////////////// /
当使用Chris建议的方法时,我遇到了另一个有趣的问题,即case关键字的用法.以下两个示例都使用相同的case结构,它应该触发输出"yes!".线.不幸的是,他们表现得不同
通常 - >输出是"是的!" 正如所料:
(define testit "test")
(case testit
(("test")
(begin (newline) (write "yes!") (newline)))
(else
(begin (newline) (write "no!") (newline)))))
Run Code Online (Sandbox Code Playgroud)
使用eval - >输出令人惊讶地"不":
(define env (null-environment 5))
(eval '(define testit "test") env)
(eval '(case testit
(("test")
(begin (newline) (write "yes!") (newline)))
(else
(begin (newline) (write "no!") (newline)))))
Run Code Online (Sandbox Code Playgroud)
这有任何意义吗?
我需要有关此eval()问题的帮助:
var ScoreFuncName = 'scoreCondition_' + criteriaName;
var allCheckBox = $('div#'+SubListId).find("input:image[name^='" + ChkBoxPrefix + "'][value='1']");
eval(ScoreFuncName + '(' + allCheckBox.length + ')');
Run Code Online (Sandbox Code Playgroud)
该eval()功能正在评估选中哪个复选框并相应地执行其他操作,它在Firefox中运行良好,但在谷歌Chrome和IE中运行不佳.
如何解决这个问题,抓了我3天.谢谢.
例如,我有一个声明:
$var = '2*2-3+8'; //variable type is string
Run Code Online (Sandbox Code Playgroud)
如何使它平等9?
因此,古老的标准是使用Eval是不好的,因为它可能导致重大的安全问题; 特别是在您正在评估可能来自用户输入的某些内容的情况下.这使得100%有意义,并且我从未遇到任何避免使用Eval的问题.不过,最近我遇到了一个奇怪的情况,这让我想到这种类型的东西有点不同.
我写了一个类似JS的函数:
function someFun(param, callback) {
bool = someOtherFun(param);
if(bool)
callback();
else
return false;
}
Run Code Online (Sandbox Code Playgroud)
这被大大剥离,但是主体是相同的:它调用另一个函数,并且基于它的返回值将执行作为参数提供的函数,否则它将返回false.但是,我认为,使用F12中的JS控制台,可以像使用Eval(txtbox.value)一样轻松利用这种东西.那有关系吗?
在F12的这个世界里,在我看来,Eval是我们最不担心的.任何知道注射攻击的人都可能知道F12是什么.我错了吗?
我是Python的新手,并且一直在寻找一种方法来调用一个函数,该函数的名称由字符串和变量的组合形成,当用户选择其中一个选项时,该函数会动态填充.
例:
我用一个菜单启动程序,为用户提供某些选项(选择1,2,3或4)
如果用户选择1,变量xyz将填充一个元组或列表内的字符串.
将此字符串分配给变量,我调用另一个函数,它给了我另一个选项.
如果我得到选项1,我的代码会将xyz varible附加到预定义的字符串中,该字符串将形成一个函数名称(将在下一个调用的名称).
if int(option) == 1:
#prefixfunc will be that predefined string that will be the prefix for every function #to be called
exec('prefixfunc'+xyz'()')
#or
#eval('prefixfunc_'+xyz'()')
#for example, we have xyz as abc, then it calls function prefixfunc_abc()
Run Code Online (Sandbox Code Playgroud)
它在代码中工作正常.我不认为这对用户添加不同输入的情况可能是一种责任.由于在列表或元组中使用已定义的字符串来分配变量.
我希望我已经说清楚了.
只是为了更清楚:
def maint_car():
print('It Works!!! But did you come until here in a safe way?' )
def veh_func():
func=( "Maintenance", "Prices", "Back", "Quit" )
ord = 0
for i in func:
ord += 1
print(ord,'\b)', …Run Code Online (Sandbox Code Playgroud) 如果我将cat命令保存到字符串然后执行它,那么我将收到错误
linux# cmd="cat /data/test/test.tx* | grep toto"
linux# eval '$cmd'
cat: |: No such file or directory
cat: grep: No such file or directory
cat: toto: No such file or directory
Run Code Online (Sandbox Code Playgroud)
即使
linux# $cmd
cat: |: No such file or directory
cat: grep: No such file or directory
cat: toto: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我知道
linux# eval "$cmd"
Run Code Online (Sandbox Code Playgroud)
工作,但在我的脚本中我想使用 eval '$cmd'
如何将cat命令保存到变量中时执行?
现在如果cmd="echo anymessage"那么
linux# eval '$cmd'
linux# $cmd
linux# eval "$cmd"
Run Code Online (Sandbox Code Playgroud)
所有这些都会奏效
我发现在Haskell中学习Parsec很难,所以我正在尝试创建我的大学项目(一个用表格解析文件的解析器)
x=3
y=4
z=x+y
badluck=(x+sqrt(z)*7)
Run Code Online (Sandbox Code Playgroud)
我设法写了一个函数,从文件中获取所有内容并验证文件,我坚持让x成为变量名.我知道在javascript中它是eval但我在Haskell中找不到类似的东西.请帮忙!
这是我到目前为止所做的事情:
ischarorscore :: Char -> Bool
ischarorscore a = if ((a>='A' && a<='Z') || (a>='a' && a<='z') || a=='_')
then True
else False
ischarscoredigit :: Char -> Bool
ischarscoredigit a = if ((a>='A' && a<='Z') ||
(a>='a' && a<='z') ||
a=='_' ||
a>='0' && a<='9') then True else False
isvar :: String -> Bool
isvar [] = False
isvar (h:t) = if (ischarorscore h) then (isvarbody t) else False
isvarbody :: String -> Bool …Run Code Online (Sandbox Code Playgroud) 以下是我发现并希望有人解释的一些代码.
如果我将一个字符串赋给变量y,用eval函数计算它并将内容分配给变量y2,解释器返回true.
>>> y = 'a string'
>>> y2 = eval(repr(y))
>>> y == y2
>>> True
Run Code Online (Sandbox Code Playgroud)
以这种方式使用str(y):
>>> eval(str(y))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
a string
^
SyntaxError: unexpected EOF while parsing
Run Code Online (Sandbox Code Playgroud)
不被允许.这是为什么?
我有以下代码,它将$mystring通过从文件中读取来设置值.
#!/usr/bin/perl
use warnings;
use strict;
use Data::Dumper;
my $mystring1 = "vault.\$_[0].org/\$_[1].\$_[2]/os/\$_[4]";
my $mystring2 = "vault.$_[0].org/$_[1].$_[2]/os/$_[4]";
&myfunc ("A1", "b2", "C3", "d4");
sub myfunc {
print Dumper(\@_);
print ("Before=$mystring1\n");
my $test = eval($mystring1);
print ("test=$test\n");
print ("Before=$mystring2\n");
$test = eval($mystring2);
print ("test=$test\n");
}
Run Code Online (Sandbox Code Playgroud)
但是会生成以下输出:
Use of uninitialized value $_[0] in concatenation (.) or string at ./t.pl line 7.
Use of uninitialized value in concatenation (.) or string at ./t.pl line 7.
Use of uninitialized value in concatenation (.) or …Run Code Online (Sandbox Code Playgroud)