package curveJudge

import groovy.text.SimpleTemplateEngine

/**
* Created by Jxy on 2019/8/26 17:16
*
*/
class EngineTest {
static void main(String[] args) {
def shell = new GroovyShell()
def engine = new SimpleTemplateEngine()
def map = [
'eg1' : 1,
'eg2' : 1,
'eg3' : 1,
'eg5' : 1,
'eg6' : 1,
'eg7' : 1,
'eg8' : 1,
'eg9' : 1,
'eg10': 1,
'eg11': 1,
'eg12': 1,
'eg14': 1,
'eg13': 1,
'eg15': 1,
'eg16': 1,
'eg17': 1,
'eg18': 1,
'eg19': 1,
'eg20': 1,
'eg21': 1,
'eg22': 1,
'eg23': 1,
'eg24': 1,
'eg25': 1,
'eg26': 1,
'eg27': 1,
'eg28': 1,
'eg29': 1,
'eg30': 1,
'eg31': 1,
'eg32': 1,
'eg33': 1,
'eg34': 1,
'eg35': 1,
'eg36': 1,
'eg37': 1,
'eg38': 1,
'eg39': 1,
'eg40': 1,
'eg41': 1,
'eg42': 1,
'eg43': 1,
'eg44': 1,
'eg45': 1,
]
def a = System.currentTimeMillis()
String str = '($eg1+$eg10)*6'
def string1 = engine.createTemplate(str).make(map).toString()
println "执行结果:${-> shell.evaluate(string1)}"
def b = System.currentTimeMillis()
println "---->执行 1 次需要毫秒数: ${b - a}" def str1
for (int i in 1..10) {
str1 = '($eg44+$eg3)*2'
def string2 = engine.createTemplate(str1).make(map).toString()
println "${i}执行结果:${-> shell.evaluate(string2)}"
}
def c = System.currentTimeMillis()
println "执行 10 次需要毫秒数: ${c - b}" String str2 = '($eg1+$eg10)*6'
def string3 = engine.createTemplate(str2).make(map).toString()
println "执行结果:${-> shell.evaluate(string3)}"
def d = System.currentTimeMillis()
println "---->在执行 1 次需要毫秒数: ${d - c}" def str3
for (int i in 1..100) {
str3 = '($eg44+$eg3)*2'
def string4 = engine.createTemplate(str3).make(map).toString()
println "${i}执行结果:${-> shell.evaluate(string4)}"
}
def e = System.currentTimeMillis()
println "执行 100 次需要毫秒数: ${e - d}" }
}

Groovy--使用模板引擎和GroovyShell执行插值字符串的更多相关文章

  1. PHP模板引擎正则替换函数 preg_replace 与 preg_replace_callback 使用总结

    在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(其实就是字符串替换). 详情介绍参考博文:P ...

  2. 简易js模板引擎

    前面 js 模板引擎有很多很多,我以前经常用 art-template ,有时候也会拿 vue 来当模板引擎用. 直到...... 年初的时候,我还在上个项目组,那时候代码规范是未经允许不能使用 [外 ...

  3. PHP的模板引擎smarty原理是什么(整理)

    PHP的模板引擎smarty原理是什么(整理) 一.总结 一句话总结:其实所有的模板引擎的工作原理是差不多的,无非就是在php程序里面用正则匹配将模板里面的标签替换为php代码从而将两者混合为一个ph ...

  4. Ajax概述,封装以及联合模板引擎进行数据交互

    欢迎大家去博客冰山一树Sankey,浏览效果更好.直接右上角搜索该标题即可 博客园主页:博客园主页-冰山一树Sankey CSDN主页:CSDN主页-冰山一树Sankey 更多资料可参考Ajax 介绍 ...

  5. Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化

    模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则 ...

  6. php模板引擎

    http://baike.baidu.com/link?url=HmXfdJBv3zpCdnZPeaSmZmqDBHlyTBnz9Rmb5it-jf1_NLHfaku6_i8ssUYbnaTQEBD4 ...

  7. doT.js模板引擎及基础原理

    时至今日,基于后端JavaScript(Node.js)和MVC思想也开始流行起来.模板引擎是数据和页面分离工作中最重要的一环,在各大门户网站均有利用到模板引擎. 模板引擎有很多种,但是原理了解也是非 ...

  8. java开源模板引擎

      Velocity  Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义 ...

  9. Spring Boot☞ 使用Thymeleaf模板引擎渲染web视图

    静态资源访问 在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /s ...

随机推荐

  1. 在业务控制方法中写入包装User的模型来收集参数

    可以在业务控制方法中书写0个或多个模型来收集客户端的参数 1)  如果多个模型中有相同的属性时,可以用user.name或admin.name来收集客户端参数 2)  用一个新的模型将User和Adm ...

  2. RabbitMQ 使用参考

    http://www.zouyesheng.com/rabbitmq.html 安装 基本概念 基本形式 持久化 调度策略 5.1. fanout 5.2. direct 5.3. topic 5.4 ...

  3. 安装flanal报错解决

    1.:Error registering network: failed to acquire lease: node "test4" pod cidr not assigned ...

  4. Base64加密 解密

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. 随便写的Gost安装脚本,作用你懂的,目前只支持CentOS,可以在Aliyun ECS中使用

    服务器 执行下面命令: curl -L aux.pub/gost | bash 或者: curl -L https://gist.githubusercontent.com/inrg/03da1ded ...

  6. 喜欢听DJ的朋友可以自己用下,别传播

    // ==UserScript== // @icon http://djkk.com/favicon.ico // @name DJKK Downloader // @namespace http:/ ...

  7. MariaDB知识点总结02--日志+备份

    一.日志 1.查询日志 记录每一条sql语句,建议不开启,因为如果访问量较大,会占用相当大的资源,影响性能; vim /etc/my.cnf.d/server.cnf general_log = ON ...

  8. highway network及mnist数据集测试

    先说结论:没经过仔细调参,打不开论文所说代码链接(fq也没打开),结果和普通卷积网络比较没有优势.反倒是BN对网络起着非常重要的作用,达到了99.17%的测试精度(训练轮数还没到过拟合). 论文为&l ...

  9. 【VS开发】【计算机视觉】OpenCV读写xml文件《C版本》

    一些简单的XML读写操作,记之于笔记以备忘 主要功能: 1. 创建XML 2. 向XML中存储或者是读取Int float型基本数据 3. 通过创建XML元素,存取复杂的结构如:结构体.矩阵 代码如下 ...

  10. speedtest-cli 命令

    speedtest-cli是一个使用python编写的命令行脚本,通过调用speedtest.net测试上下行的接口来完成速度测试,项目地址:https://github.com/sivel/spee ...