aardio名字空间库的扩展方法(五)实例
前面介绍了两种方法,都需要在扩展库中导入基库。但如果我们要扩展的是内核库,这一步当然就可以省略,因为内核库是IDE自动导入的,不需要我们操心。下面以扩展table库做一个实例,我们为table库增加一个函数,功能是选出数组中数值最大的元素的索引。
扩展库代码如下:
//扩展table库
namespace tableEX{}
namespace table;maxindex=function(tab){return reduce(tab,function(prev,next,index,arr){ return next>arr[prev]?index:prev; },1)}
将上述代码保存为aardio\lib\tableEX.aardio。
调用代码如下:
import console; import tableEX;
tab={1,3,5,2,4,6,7,9,8,0};
var i=table.maxindex(tab);
console.log ("最大元素的索引是:"++i);
console.log ("最大元素的值是:"++tab[i]);console.pause(true);
调用效果如下:
aardio名字空间库的扩展方法(五)实例相关推荐
- aardio名字空间库的扩展方法(一)
aardio是一款高效的win桌面编程语言,有丰富的类库.名字空间库可供调用.但是在实际开发中,我们仍然免不了对现有的库进行扩展,以适合自己的开发需求.(注意,是扩展,而不是直接修改现有的库,否则ID ...
- aardio名字空间库的扩展方法(四)
前面三篇讲的是同一种扩展方法,比照类库,我们可以称之为直接继承的扩展方法.本人推荐这种方法,简单,好理解.其实,名字空间库也有"间接继承"的扩展方法,也就是利用元表继承,在此展示一 ...
- aardio名字空间库的扩展方法(三)
通过前面的操作,我们实现了只要导入spaceB这个扩展库,就可以使用spaceA这个基库的内容,还可以使用我们自己新扩展出来的功能,目标达成.这里面有几个问题需要解释: 一.我们继承基库,采用的是在扩 ...
- aardio名字空间库的扩展方法(二)
接前文. 既然要扩展spaceA库,就需要建立一个新库,并且把spaceA库的成员纳入到新库中,然后再考虑增加一些功能. import test.spaceA;//导入基库 //这样基库的内容就包含在 ...
- 我的KT库之-----扩展方法
了解或者认识KT: http://www.cnblogs.com/kingthy/archive/2011/08/08/2130973.html 在项目中如何使用KT? KT是一个库,所以将KT的dl ...
- 【错误记录】Groovy 扩展方法调用报错 ( 静态扩展方法 或 实例扩展方法 需要分别配置 | 没有配置调用会报错 groovy.lang.MissingMethodException )
文章目录 一.报错信息 二.解决方案 一.报错信息 定义 Thread 扩展方法 , 下面的扩展方法 class ThreadExt {public static Thread hello(Threa ...
- C#中的扩展方法,Linq,IO和多线程的定义和实例
前段时间学C#的上转型,泛型,lambda表达式这些应用的理解很费劲.学过之后我多多的练习了几天,接下来继续复习C#的其他一些概念,说实在的这些知识点学过之后很容易忘,但是都是很重要的,所以发表在博客 ...
- c# 扩展方法奇思妙用高级篇五:ToString(string format) 扩展
在.Net中,System.Object.ToString()是用得最多的方法之一,ToString()方法在Object类中被定义为virtual,Object类给了它一个默认实现: 1 p ...
- 【转】五、谈扩展方法的理解
[转]五.谈扩展方法的理解 为什么要用扩展方法 在说什么是扩展方法之前我们先来说说为什么要用扩展方法. 首先我们定义一个 Person 类: public class Person {/// < ...
最新文章
- 豆瓣评分 9.0,超 10 万开发者的入门选择,这本经典好书终于升级啦!
- S210-设置通过X130-Profinet口进行配置
- ADO,OLEDB,ODBC,DAO的区别
- HashMap Hashtable区别
- gpt 语言模型_您可以使用语言模型构建的事物的列表-不仅仅是GPT-3
- mysql 插入加锁_MySQL的死锁系列- 锁的类型以及加锁原理
- 深入解析Java中的装箱和拆箱
- 基于腾讯视频影视作品数据分析
- java编译jni错误_JNI开发的常见错误
- 机器学习与深度学习常见面试题
- 06正交实验法及场景法
- c语言输入1显示你好,你好,求指教!该怎么用C语言的scanf实现一次输入若干个数据...
- 【自动化办公】用python实现和女神聊天情话对白,聊天机器人
- 叠积木(加权并查集)
- On-premise是什么意思?
- UWB定位的3种算法:TWR、TOA和TDOA算法
- chatgpt接入微信
- cad打印老显示rpc服务器不可用,win7打印机提示rpc服务器不可用怎么办-解决win7打印机提示rpc服务器不可用的方法 - 河东软件园...
- ccs读取dat文件c语言程序,详解CCS中的.dat文件
- vue3 状态管理工具 pinia 使用