一段运行时修改方法的代码......
groovy的meta programming 果然强大..... 好吧 其实是我见识少.....
早就想写一段javascript prototype代码风格的groovy代码了.....
于是折腾了半天就折腾出来这么样的东东.....
class MetaTest{
def propertyMissing(String name){
return Proxy(name);
}
def Proxy(String name){
println "entering proxy"
def clazz = Class.forName(name);
def klazz = clazz.newInstance();
klazz.metaClass.methods.findAll { it.name == "getTest" }.each {
op->
println "entering in method"
klazz.metaClass."${op.name}" << { String a ->
a = "call up"
return a;
}
}
return klazz;
}
public static void main(String[] args){
MetaTest t = new MetaTest();
println (t.MetaFuck.getTest("absc"));
}
}
class MetaFuck {
static public String getTest(String arg){
return arg;
}
}
分享到:
相关推荐
元编程(Meta-programming)是一种高级的编程技巧,它允许程序员在编译时进行计算,而不是在运行时。这种技术最初在C++中通过模板元编程(Template Meta-programming)得到广泛的应用,使得C++不仅仅是一种面向对象...
### Meta Programming Ruby:深入理解Ruby元编程 #### 核心概念与原理 《Meta Programming Ruby》这本书由Paolo Perrotta编写,旨在帮助读者深入了解Ruby语言的元编程特性及其强大功能。通过本书的学习,读者可以...
meta-programming-in-elixir.epub
关键词包括:进化编程(Evolutionary Programming)、遗传编程(Genetic Programming)、函数优化(Function Optimization)、机器学习(Machine Learning)、元学习(Meta-learning)、超启发式算法(Hyper-...
**SP_META工具详解** 在移动设备的开发和调试过程中,Meta模式扮演着至关重要的角色。MTK(MediaTek)作为全球知名的芯片制造商,为开发者提供了一款名为SP_META的工具,便于进入Meta模式进行二次开发。本文将深入...
诊断性meta分析手把教你做临床Meta分析——诊断试验性Meta-Disc分析 诊断性meta分析是Meta分析的一个重要局部,准确诊断性Meta分析是临床治疗的根底。本篇文章将向大家推荐一款专用于诊断性试验的免费Meta分析软件...
在这种情况下,"清除unity中的meta文件"就成为一个需要解决的问题。 首先,理解Unity中的.meta文件至关重要。它们是Unity项目结构的一部分,负责记录每个资源的属性,比如纹理的压缩格式、音频文件的播放模式、脚本...
**Meta分析软件安装包** Meta分析是一种统计方法,用于整合多个独立的研究结果,以提高对某一现象或干预效果的理解和估计。在这个压缩包中,包含了两款用于进行Meta分析的常用软件——RevMan和Stata,以及一个...
一、页面自定义meta标签 可以为每个页面单独设置不同的meta标签 以便于SEO 全局的meta标签在nuxt.config.js文件里配置 而单独的meta标签在组件的内部标签内进行配置即可 值得注意的是:hid属性是页面的唯一标识 若想...
### Meta分析中的数据提取 #### 一、数据及来源 在进行Meta分析时,数据的来源至关重要。数据主要来源于已发表的研究文献、未发表的研究资料(例如通过联系研究作者获得的个体患者数据,简称IPD),以及其他可靠的...
MTK Meta工具是一款专为MTK(MediaTek)平台设计的软件工具,它主要用于帮助开发者和用户进入手机或设备的META模式。这个模式是MTK平台的一个特殊调试环境,允许进行高级的系统操作,如写号、刷机、故障排查等。在...
《PyTorch实现的元学习超分辨率网络Meta-SR》 在深度学习领域,超分辨率(Super Resolution,SR)技术已经成为了图像处理中的一个热点,它致力于将低分辨率(Low-Resolution, LR)图像恢复为高分辨率(High-...
#### 一、Meta标签概述 在HTML文档中,`<meta>`标签被广泛应用于头部(`<head>`部分),主要用于定义页面的元数据(metadata)。这些元数据通常不直接对用户可见,但对浏览器以及其他网络服务(如搜索引擎)具有重要...
MTK Meta工具是针对MediaTek(MTK)平台开发的一款综合性软件,主要用于基带和射频的校准以及测试工作。这款工具的版本为5.6,它在工程师和开发者中广泛使用,以确保MTK芯片组驱动的设备能够进行高效、精确的硬件...
这篇博文链接指向的是一个关于`header`和`meta`头部信息的讨论,虽然具体内容无法直接提供,但从一般意义上,我们可以深入探讨这两个关键元素的作用、用途以及相关知识点。 `<header>` 标签: 1. **定义页面头部**...
手机浏览器是把页面放在一个虚拟的“窗口”(viewport)中,通常这个虚拟的“窗口”(viewport)比屏幕宽,这样就不用把每个网页挤 到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过...
在网页设计中,`<meta>` 标签扮演着至关重要的角色。它是 HTML5 文档类型中的一个元素,用于提供关于文档的各种元信息,这些信息包括网页的字符编码、描述、关键词、重定向、刷新等。`<meta>` 标签通常位于 `<head>`...