RegExp可以替换匹配的模式,替换涉及所谓的标记表达式
例:
var s = "... some string with full things...";
s = s.replace(/(some|full)/gi, "\"aw$1\");
Run Code Online (Sandbox Code Playgroud)
这将导致
'... "awsome" string with "awfull" things...'
Run Code Online (Sandbox Code Playgroud)
生活很酷,因为一些和完全匹配,并且替换字符串中的$ 1反映了大括号中匹配的Tagged Expression,在这种情况下 - 恰好只有一些或全部.
现在,我们得到了这个想法 - 我正在寻找一个想法来做以下事情:
字符串之前:
"{timeOfEffect: 3*24*60*60 }"
Run Code Online (Sandbox Code Playgroud)
字符串之后
"{timeOfEffect: 259200}"
Run Code Online (Sandbox Code Playgroud)
这些值的表示方式是因为它们由人类编辑为可掌握的术语,如(60秒*60分钟*24小时)*3 => 3天(不要问.客户的要求),但读取计算机术语如259200 in秒,并且可能包含许多该模式.
我正在考虑尝试创建一个替换表达式,将$ 1和$ 2相乘,或者甚至将$ 1和$ 2传递给函数,或者将$ 1*$ 2传递给评估上下文,但我必须为它创建一个函数并手动执行.
我得到的最接近的是
var x = /([0-9]*)\s\*\s([0-9]*)/g
, r = function(m){
return m[1] * m[2];
}
while (m = x.exec(s))
s = s.replace( …Run Code Online (Sandbox Code Playgroud) 在过去的几个小时里,我一直在尝试查询DOM元素并将它们存储在CasperJS的数组中,然后我可以循环遍历它们并触发click事件.
比方说,我的标记是这样的:
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
现在,我想存储<li>一个数组,然后循环,触发Click事件,然后进行捕获.
这是我尝试过的事情之一:
var listItems = [];
casper.start();
casper.open(urlHere, function () {
listItems.push(this.evaluate(function () {
return document.querySelectorAll('ul > li');
}));
this.echo(listItems);
});
Run Code Online (Sandbox Code Playgroud)
它返回[ , , , ]基本上意味着它们都是null.
有人可以指导我朝正确的方向发展吗?
谢谢!
我想使用该evaluate软件包模拟执行(大量)r脚本,同时使用evaluate记录输出.Evaluate旨在完成这项工作,它几乎可以开箱即用.但是,当使用Rscript时,用户通过命令行传递参数,这些参数--args在R中使用base::commandArgs函数检索.
有没有明智的方法可以覆盖--args正在运行的R会话中的值,以便使用R脚本base::commandArgs()可以按预期工作而无需修改脚本本身?
我有一个字符串的问题:
$val = 'NOT NULL';
if(stripos($val, 'NULL') !== FALSE){
echo "IS $val";
}
Run Code Online (Sandbox Code Playgroud)
它评估很好,但如果我=== TRUE用作评估者,那么事情就会出错.答案躲过了我,请帮助我理解.
我需要能够从 VBA (MS Excel) 执行任何类型的内置函数(例如“sum”或“len”)。
我的限制之一是我不能将单元格范围作为参数传递给这些函数。相反,我应该能够使用严格的值。
我希望能够使用以下表达式 SUM(1, 2) ,它应该返回 3,而以下版本 SUM("A1:A2") 对我不起作用。
我设法开发了一些函数来解析我之前的输入并使其包含一个值列表(例如上面的示例,它使用户输入的“A1:A2”看起来像一个由两个值组成的数字数组)。
那么,任何人都可以给我一个使用接收值列表(而不仅仅是单元格范围)的内置函数的示例吗?
我尝试了以下代码,但由于某种未知的原因,我无法让它工作(我不断收到 1004 错误,说:无法运行宏“SUM”。该宏可能在此工作簿或所有工作簿中不可用)宏可能被禁用。):
Application.Run "SUM", 2, 2
Run Code Online (Sandbox Code Playgroud)
一些有助于找到解决此问题的宝贵建议将不胜感激。
所以我最近一直在尝试D,因为我认识的许多程序员都建议我通过C++学习它.
我正在使用DMD Compiler v2.057,这是我的代码:
while(cliLoopC)
{
write("?> ");
string iPt_ = std.string.tolower(readln());
switch (iPt_)
{
default: writeln(E_URECCOM); break;
case "test":
writeln("Hello!");
break;
}
}
Run Code Online (Sandbox Code Playgroud)
程序是这样的,每当我输入时test,它应该转到case而不是default,它只打印E_URECCOM的内容(这是一个包含的常量char [] UNRECOGNISED COMMAND\n).
我不知道发生了什么让它做到这一点.有任何想法吗?
我想第一次将Enum实现到我的代码中.我有一个简单的自定义类,如下所示:
public class Application
{
//Properties
public string AppID { get; set; }
public string AppName { get; set; }
public string AppVer { get; set; }
public enum AppInstallType { msi, exe }
public string AppInstallArgs { get; set; }
public string AppInstallerLocation { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我在该类中有一个名为Install()的方法,如下所示:
public void Install()
{
if (AppInstallType.exe)
{
ProcessStartInfo procInfo = new ProcessStartInfo("cmd.exe");
procInfo.Arguments = "/c msiexec.exe /i " + AppInstallerLocation + " " + AppInstallArgs; ;
procInfo.WindowStyle = ProcessWindowStyle.Normal;
Process …Run Code Online (Sandbox Code Playgroud) 我有以下问题:我在 puppeteer 中有一个页面评估,其中包括不同步的部分。我想将异步部分的值返回给 puppeteer,但是,它只是返回 undefined 而不等待 Promise 解决。有没有人如何解决问题?
我的示例代码:
const puppeteer = require('puppeteer');
async function testing(num) {
const browser = await puppeteer.launch({
headless: false,
ignoreHTTPSErrors: true
});
const page = await browser.newPage();
const evaluating = await page.evaluate((num) => {
//some synchrnous stuff (declaring some variablesand so on...)
function lookForNumber(num) {
if (num > 2) {
var asyncstuff = setTimeout(function () {
if (num > 10) {
console.log('number is greater than 9');
var whatIwantToRetrun = 'ten';
return Promise.resolve(whatIwantToRetrun);
//return here
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试在调试应用程序时检查 IntelliJ 中中等大的 Scala 对象映射的内容。我在“评估”对话框中输入以下内容:prices.get.keys.toList.filter(k => k.startsWith("GC")),其中prices是Future[Map[String, SomeObject]]。我直接在没有集合的 Iterable 上进行了尝试,toList得到了相同的结果。
我收到以下异常:生成的代码调用期间出错:
com.intellij.debugger.engine.evaluation.EvaluateException: Method threw 'java.lang.NoSuchMethodError' exception.堆栈跟踪的顶部只是我有断点的行。
还有其他人遇到这个吗?如果是这样,有解决方法吗?
堆栈跟踪如下:
c.p.p.e.u.ClassUnderTest$$anonfun$4$GeneratedEvaluatorClass$10$1.invoke(FileToCompile1993.scala:85)
c.p.p.e.u.ClassUnderTest$$anonfun$4.apply(ClassUnderTest.scala:81)
c.p.p.e.u.ClassUnderTest$$anonfun$4.apply(ClassUnderTest.scala:76)
scala.collection.immutable.HashSet$HashSet1.filter0(HashSet.scala:313)
scala.collection.immutable.HashSet$HashTrieSet.filter0(HashSet.scala:929)
scala.collection.immutable.HashSet$HashTrieSet.filter0(HashSet.scala:929)
scala.collection.immutable.HashSet.filter(HashSet.scala:167)
scala.collection.immutable.HashSet.filter(HashSet.scala:35)
c.p.p.e.u.ClassTest.get(ClassTest.scala:76)
c.p.p.e.u.ClassTest.$$anonfun$1.apply$mcV$sp(ClassTest.scala:35)
c.p.p.e.u.ClassTest$$anonfun$1.apply(ClassTest.scala:22)
c.p.p.e.u.ClassTest$$anonfun$1.apply(ClassTest.scala:22)
org.scalatest.Transformer$$anonfun$apply$1.apply$mcV$sp(Transformer.scala:22)
org.scalatest.OutcomeOf$class.outcomeOf(OutcomeOf.scala:85)
org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
org.scalatest.Transformer.apply(Transformer.scala:22)
org.scalatest.Transformer.apply(Transformer.scala:20)
org.scalatest.FlatSpecLike$$anon$1.apply(FlatSpecLike.scala:1647)
org.scalatest.Suite$class.withFixture(Suite.scala:1122)
org.scalatest.FlatSpec.withFixture(FlatSpec.scala:1683)
org.scalatest.FlatSpecLike$class.invokeWithFixture$1(FlatSpecLike.scala:1644)
org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1656)
org.scalatest.FlatSpecLike$$anonfun$runTest$1.apply(FlatSpecLike.scala:1656)
org.scalatest.SuperEngine.runTestImpl(Engine.scala:306)
org.scalatest.FlatSpecLike$class.runTest(FlatSpecLike.scala:1656)
org.scalatest.FlatSpec.runTest(FlatSpec.scala:1683)
org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1714)
org.scalatest.FlatSpecLike$$anonfun$runTests$1.apply(FlatSpecLike.scala:1714)
org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:413)
org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:401)
scala.collection.immutable.List.foreach(List.scala:381)
org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:401)
org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:390)
org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:427)
org.scalatest.SuperEngine$$anonfun$traverseSubNodes$1$1.apply(Engine.scala:401)
scala.collection.immutable.List.foreach(List.scala:381)
org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:401)
org.scalatest.SuperEngine.org$scalatest$SuperEngine$$runTestsInBranch(Engine.scala:396)
org.scalatest.SuperEngine.runTestsImpl(Engine.scala:483)
org.scalatest.FlatSpecLike$class.runTests(FlatSpecLike.scala:1714)
org.scalatest.FlatSpec.runTests(FlatSpec.scala:1683)
org.scalatest.Suite$class.run(Suite.scala:1424)
org.scalatest.FlatSpec.org$scalatest$FlatSpecLike$$super$run(FlatSpec.scala:1683)
org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1760)
org.scalatest.FlatSpecLike$$anonfun$run$1.apply(FlatSpecLike.scala:1760)
org.scalatest.SuperEngine.runImpl(Engine.scala:545)
org.scalatest.FlatSpecLike$class.run(FlatSpecLike.scala:1760)
org.scalatest.FlatSpec.run(FlatSpec.scala:1683)
org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:55)
org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$3.apply(Runner.scala:2563)
org.scalatest.tools.Runner$$anonfun$doRunRunRunDaDoRunRun$3.apply(Runner.scala:2557)
scala.collection.immutable.List.foreach(List.scala:381)
org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:2557) …Run Code Online (Sandbox Code Playgroud) 从 Modelica 文档看,注释 Evaluate 似乎只对参数有影响:https : //build.openmodelica.org/Documentation/ModelicaReference.Annotations.Evaluate.html
使用 Dymola 变量编辑器,我可以方便地在任何变量/实例上设置注释,请参见下面的屏幕截图。这有什么影响还是注释被忽略了?如果应用于类的实例,该类中的参数是否会被评估为修饰符设置的值(在示例屏幕截图中,例如参数 yMax)?