我试图找到像Java嵌入插件(JEP)这样可以评估数学公式(字符串)并给出答案的东西.
但它也应该计算一个变量,例如:(25 + 36 + x)*2 = 25应该给出:x = -11
有点像http://www.wolframalpha.com/,但它不应该是多功能的,它应该脱机工作.
开源是首选.
我需要它用于我的小计算器项目,http://sourceforge.net/projects/calex/.
我正在尝试从USGS解析一些XML.
"parameterCd"参数列出了我想要的3项数据.我可能会或可能不会全部回来.
我在使用javax库的Android上执行此操作.
在我的代码中,我最初检索0-3 ns1:timeSeries节点.这很好用.我当时想要做的是,在单个timeSeries节点的上下文中,检索ns1:variable和ns1:values节点.
所以在我的代码下面我有:
expr = xpath.compile("//ns1:variable");
NodeList variableNodes = (NodeList) expr.evaluate(timeSeriesNode, XPathConstants.NODESET);
Run Code Online (Sandbox Code Playgroud)
我希望只返回一个节点,因为评估应该发生在我传入的单个timeSeriesNode的上下文中(根据文档).但是,它会返回文档的所有ns1:variable节点.
我错过了什么吗?
这是相关部分......
XPathFactory factory = XPathFactory.newInstance();
XPath xpath = factory.newXPath();
xpath.setNamespaceContext(new InstantaneousValuesNamespaceContext());
XPathExpression expr;
NodeList timeSeriesNodes = null;
InputStream is = new ByteArrayInputStream(sourceXml.getBytes());
try {
expr = xpath.compile("//ns1:timeSeries");
timeSeriesNodes = (NodeList) expr.evaluate(new InputSource(is), XPathConstants.NODESET);
for(int timeSeriesIndex = 0;timeSeriesIndex < timeSeriesNodes.getLength(); timeSeriesIndex++){
Node timeSeriesNode = timeSeriesNodes.item(timeSeriesIndex);
expr = xpath.compile("//ns1:variable");
NodeList variableNodes = (NodeList) expr.evaluate(timeSeriesNode, XPathConstants.NODESET);
// Problem here. I've got all the …Run Code Online (Sandbox Code Playgroud) 我有这么多数百个细胞长的Mathematica文件,我想使用并行评估.我有一个2处理器x 4核心每台机器16 Gb内存.我的Mathematica许可证允许我运行最多2个主内核,其中1个主机可能有4个从属内核(这是我用它玩了一段时间之后的解释).
我曾经在两个不同笔记本中的两个主内核中运行我的代码.为了进一步加快速度,我尝试用几个单元格封装ParallelEvaluate[]它似乎工作.然后我还有4个我的代码副本通过其中一个主内核不知道彼此运行,这很好.(我基本上试图尽可能多地并行运行我的代码/数学内核的副本.我不是在拍摄任何真正平行的东西).
由于我的代码太长而且复杂,我不想再次编辑每个单元格以使它们并行评估.我的笔记本电脑的开头是否有任何神奇之处,所以在此之后评估的每个单元格都是默认的ParallelEvaluate[ ... cell contents.... ]?
我知道我可以使用apply评估一个包含许多数据的函数,但是我可以使用一个数据评估许多函数吗?使用sapply我可以得到:
sapply(list(1:5,10:20,5:18), sum)
Run Code Online (Sandbox Code Playgroud)
但我想要像这样的东西:
sapply(1:5, list(sum, min,max))
Run Code Online (Sandbox Code Playgroud)
得到
15 1 5
Run Code Online (Sandbox Code Playgroud)
有什么聪明的主意吗?:)
我正在使用CasperJS中的waitForSelector()和captureSelector()方法等待并使用CSS选择器选择一个元素,然后保存它的截图.
但是,我发现因为css background已设置为transparent,屏幕截图结果非常难看,所以我想设置background为white.我确信,我使用document.querySelector在评估()调用,但似乎并没有工作.
这是我的脚本(您之前可以忽略所有内容casper.start(...,我只是包含了下一个代码片段的上下文的开头部分):
var casper = require("casper").create({
verbose: true,
clientScripts: ["libs/jquery-1.10.2.js"]
});
var utils = require("utils");
var requiredOptions = [ 'url', 'selector', 'filename' ];
var missingOptions = new Array();
for (var i = 0 ; i < requiredOptions.length ; i++) {
var opt = requiredOptions[i];
if (!casper.cli.has(opt)) {
missingOptions.push(opt);
}
}
if (missingOptions.length > 0) {
casper.die("\nMissing the following CLI …Run Code Online (Sandbox Code Playgroud) 我在一个名为的列下有一个值为的表:str_condition
在此列中的值可以是:variables.bit_male/ application.bit_male/isdefined('session.int_user_id')
价值可能很复杂.
我需要使用列中值的值.
目前,我正在做的是
<cfif evaluate(query.str_condition) eq true>
.....code....
</cfif>
Run Code Online (Sandbox Code Playgroud)
现在,我需要省略评估.
我正在尝试对回溯进行一些精心的重新检查,并从未能返回更多(更好?)信息的对象中获取实际值以及回溯.
案例场景是在我导入和执行的函数中,如下所示:
def foo():
a = True
b = False
assert a == b
Run Code Online (Sandbox Code Playgroud)
并执行如下:
from foo import foo
def re_inspect():
try:
foo()
except Exception, e:
# re-inspect traceback and check `a` and `b`
Run Code Online (Sandbox Code Playgroud)
当AssertionError引发提升时,如果我尝试评估引发异常的行,我(当然)无法分辨出什么a或是b(NameError立即引发)因为我缺少代码的上下文.
请注意我无权访问,a也不会b导入上面的代码然后执行.由于foo不存在于当前名称空间中,我的问题依赖于从foo上下文中获取正确的值.
什么是正确的方法,能够告诉什么a,b以便y可以安全地说出类似:"一个是真的,是假的"?
假设我有以下课程:
class Person {
int age;
String city;
Collection<Person> friends;
Person spouse;
}
Run Code Online (Sandbox Code Playgroud)
我需要一个库,它允许我评估给定 Person 对象上的逻辑表达式是否为真。表达式看起来像这样:
((age>25 OR spouse.age>27) AND city=="New-York" AND size(friends)>100)
Run Code Online (Sandbox Code Playgroud)
所以,要求是:
建议?

(图1)
简单类型 lambda 演算的一部分(图 1),它在 Haskell 中实现,如下所示。
evaluate expression = do
case expression of
(Application (Lambda x ltype term) value) | isValue value = True -> substitute term x value
(Application value e2) | isValue value = True -> let e22 = evaluate e2 in Application value e22
(Application e1 e2) -> let e11 = evaluate e1 in Application e11 e2
Run Code Online (Sandbox Code Playgroud)
但是,这不适用于这些测试用例,
1) print (evaluate (Application (Var "x") (Var "y")))
2)print (evaluate (Application (Constant 3) (Var "y")) “(常量3)是一个值”
但是,第一次测试时,我知道这是因为 …
在调用我的函数之后,我惊讶于我的函数没有因为有一个变量并且在函数范围内使用未定义的变量而引发错误.
我的问题:为什么我的函数没有抛出未定义,错误等?不应该抛出错误因为"长度"不在我的函数参数中吗?我知道,如果我将"长度"切换到"高度",它将起作用.
如果有人可以解释javascript如何逐步解释这个功能,这对我有帮助.这是我的代码:
function areaRectangle(width, height) {
aRectangle = width * length;
console.log("The area of the rectangle is: " + aRectangle);
}
areaRectangle(10, 7); # The area of the rectangle is: 0
Run Code Online (Sandbox Code Playgroud)