zoukankan      html  css  js  c++  java
  • Groovy--使用模板引擎和GroovyShell执行插值字符串

    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}"
    
         }
    }
  • 相关阅读:
    bzoj 4066: 简单题 K-D树
    SAS获取最后一条观测到指定宏
    sas 获取字符串长度实例
    tomcat Error:NB:JAVA_HOME should point to a JDK not a JRE 解决方法
    ODBC数据源管理器-》系统DSN-》没有....Microsoft Access Driver(*mdb,*,accdb)
    SAS DATA ENCODING 解决odbc乱码问题
    sas 日期比较代码备忘
    sas transpose 代码备忘
    svn 红叉叉图标解决方法
    echart line 初始化隐藏legend
  • 原文地址:https://www.cnblogs.com/jsersudo/p/11418078.html
Copyright © 2011-2022 走看看