Tag: 评估

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

我已经了解到了(困难的方法),我需要在JSON数据中添加括号,如下所示: stuff = eval('(' + data_from_the_wire + ')'); // where data_from_the_wire was, for example {"text": "hello"} (在Firefox 3中,至less)。 这背后的原因是什么? 我讨厌编写代码而不理解引擎盖后面的内容。

如何在Ruby中拯救eval?

我试图找出如何解决在Ruby 1.8.6中使用eval()代码时出现的语法错误。 我期望以下的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 运行时产生以下结果: 2 RESCUED! 相反,我得到的是: 2 eval_rescue.rb:8: (eval):1: compile error (SyntaxError) (eval):1: syntax error, unexpected $end, expecting ')' 看来由eval方法引发的SyntaxError正在被eval内的某个地方救起,而没有给我一个自己处理的机会。 任何人都有任何想法如何得到我想要的行为(即,我的'救援'条款从'评估'错误)?

大数据量的数据库select?

我即将开始一个应该有一个相当大的数据库的新项目。 表的数量不会很大(<15),大多数数据(99%)将被包含在一个大表中,这几乎是插入/只读(没有更新)。 这张表中的估计数据量每天将增长到50万条 ,我们至less要保留1年才能做好各种报表。 需要将(只读) 复制数据库作为备份/故障转移,并且可能在高峰时间卸载报告。 我对这个大型数据库没有第一手的经验,所以我问在哪种情况下哪个数据库是最好的select。 我知道Oracle是安全的,但如果有人对Postgresql或Mysql有类似的设置经验,那么我更感兴趣。

什么是使用源与parsing和评估的警告?

简洁版本 我可以更换吗? source(filename, local = TRUE, encoding = 'UTF-8') 同 eval(parse(filename, encoding = 'UTF-8')) 没有任何破坏的风险,使UTF-8的源文件在Windows上工作? 长版 我目前正在通过加载特定的源文件 source(filename, local = TRUE, encoding = 'UTF-8') 但是,众所周知, 这不适用于Windows ,完全停止。 作为一种解决方法, Joe Chengbuild议使用 eval(parse(filename, encoding = 'UTF-8')) 这似乎工作得很好1,但即使查阅了源代码的source ,我也不明白它们在一个关键的细节上有何不同: source和sys.source都不会简单地parse然后eval文件内容。 相反,他们parsing文件内容,然后手动迭代parsing的expression式,并逐一eval它们。 我不明白为什么这将是必要的sys.source ( source至less使用它来显示详细的诊断,如果这样指示;但sys.source做什么都没有 ): for (i in seq_along(exprs)) eval(exprs[i], envir) eval报告的目的是什么? 为什么它会直接在子expression式上遍历索引呢? 还有什么其他的警告? 澄清:我不关心source和parse的附加参数,其中一些可以通过选项设置。 1 source被编码绊住但parse原因并不归结为source尝试转换input文本的事实。 parse没有这样的事情,它按原样读取文件的字节内容,只是在内存中将其Encoding标记为UTF-8 […]

什么时候“不”不是否定?

为什么下面的两个返回零? 第二个肯定是第一个的否定? 我正在使用SQL Server 2008。 DECLARE @a VARCHAR(10) = NULL , @b VARCHAR(10) = 'a' SELECT CASE WHEN ( ( @a IS NULL AND @b IS NULL ) OR @a = @b ) THEN 1 ELSE 0 END , — Returns 0 CASE WHEN NOT ( ( @a IS NULL AND @b IS NULL ) […]

a =(a ++)*(a ++)在Java中给出奇怪的结果

我正在学习OCPJP考试,所以我必须了解Java的每一个奇怪的细节。 这包括前后增量操作符应用于variables的顺序。 下面的代码给了我奇怪的结果: int a = 3; a = (a++) * (a++); System.out.println(a); // 12 答案不应该是11吗? 或者,也许13? 但不是12! 跟进: 以下代码的结果是什么? int a = 3; a += (a++) * (a++); System.out.println(a);

是否有PowerShell语言参考手册?

我正在评估Windows PowerShell作为cmd.exe的替代品,用于命令行代码的基本过程自动化(例如安装,执行和大量Fortran作业的后处理)。我知道足够的perl和shell来实现我但我想保持在Windows工具链中,而不是需要在Perl,Python,Ruby,Cygwin等方面培训我的同事。我在一家工程公司工作,所以我们不需要为.NET开发.NET或广泛的框架。 简而言之:我们使用内部代码来处理很多数字,我需要一个合理的手段来自动执行重复的手动任务。 问题是我在评估语言时遇到了麻烦,因为我找不到PowerShell的简洁可打印语言参考手册, 是的,我已经看过微软的网站,但是(在2010年这个问题最初被问到的时候),它是如此的混乱和窒息,无关的信息是无法使用的。 谷歌往往指向我回到该网站,并没有非常有帮助。 以下是我感兴趣的一些主题(unix和Perl类似文件): 内在函数 基本testing/分支/循环function和stream量控制 variables的内在types(布尔值,整数,浮点数,string) 内部数据结构(标量,列表,关联数组,对象) 运营商和运营商优先 特定于任务自动化语言的function: 过程控制(exec,fork,wait,kill) 系统监控(ps,正常运行时间,lsof,fuser,netstat,df) 文件和目录处理(查找,定位,cd,mkdir,touch,rm,rmdir) I / O(pipe道,猫,三通,xargs,读,写,覆盖,追加,寻求) 文本处理函数(awk,sed,grep,split,join,cut,fmt,strings) 其他问题,我希望得到回答: PowerShell强types(char,string,int,long,float,double)还是弱types(variant)? 常用的数据结构是可用的(标量,列表,关联数组),它们是一stream的元素吗? 有没有图书馆或模块系统? 如果是这样,标准库中是什么? 如果我找不到我需要的东西,是否可以使用第三方库? 这是一种程序性的,function性的或面向对象的语言 – 或者说每种语言的程度如何? 什么是编码习惯? (Perl最佳实践) 是否有格式化的期望 – 面向行或自由格式? 空格还是大小写? 是否有字符集限制? 语言是“8位清洁”吗? 它是否支持UTF-8,Unicode等? 我非常有兴趣在RTFM中findM,但是请注意,我正处于评估阶段,因此微软出版社(Microsoft Press)的这篇文章已经下降了50美元左右(他们在2010年将成为编辑,印刷文档的主要来源)是一个非首发。

为什么PHP认为0等于一个string?

我有以下一段代码: $item['price'] = 0; /*code to get item information goes in here*/ if($item['price'] == 'e') { $item['price'] = -1; } 它旨在将项目价格初始化为0,然后获取有关它的信息。 如果价格被通知为“e”,则意味着交换而不是卖出,由于它被存储在需要数字值的数据库中,所以用负值表示。 也有可能将价格设为0,要么是因为该项目是奖金,要么是因为价格将在稍后时刻设置。 但是,总是在没有设置价格的情况下(初始值为0),上面所示的if循环评估为真,价格设置为-1。 也就是说,它认为0等于'e'。 这怎么解释? 编辑:价格提供为0(初始化后),行为是不稳定的:有时候,如果评估为真,有时评估为假。

为什么1 +++ 2 = 3?

Python如何评估expression式1 +++ 2? 中间放入了多less个“+”,其中打印3为答案。 请任何人都可以解释这种行为 而1–2是打印3和1 — 2是打印-1

有没有办法在PostgreSQL中的string值(如eval)内执行查询?

我想这样做: SELECT (EVAL 'SELECT 1') + 1; 在PostgreSQL中有没有办法像这样( EVAL )?