Source Insight Marco研究.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:31 大小:179KB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

Source Insight Marco研究.doc

SourceInsightMarco研究.doc

预览

免费试读已结束,剩余 21 页请下载文档后查看

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

HYPERLINK"http://hilbert.spaces.live.com/blog/cns!73AE047AE0B43623!184.entry"SourceInsightMarco研究(语法篇)SourceInsightMarco研究(语法篇)SourceInsight宏语法与C相似,编写好的宏以.em文件存储。要使用宏先需要把.em文件加入到当前工程或是Base工程中,然后为其分配一个快捷键或是菜单项,之后就可以使用键盘或是点击菜单来调用宏。si的宏语法“不是”大小写敏感的,且每行语句不强制要求以分号结束,语法元素之间的空格将被自动忽略,变量名必须以字母开头。1.宏定义方法如下,可以传递参数,可以有返回值,但和一些脚本语言一样,在si宏中没有数据类型一说。macromy_macro(a,b,c){...returna+b+c}2.以下代码展示了si宏的控制语句,学过C语言的人都可以很快上手。while(条件){if(条件){...break}else{continue}return0}3.以下代码展示了变量的定义macroSomeFunction(){varlocalx//定义局部变量,局部变量可以不定义而直接使用globalglobalvariables;//定义全局变量localx=1;//局部变量赋值,作用域是当前macroglobalvariables="ison81"//全局变量赋值,作用域是整个si,其它macro也可以访问}4.以下代码展示了关于变量和数据类型的一些注意事项,a.空串{S=nil//sissettotheemptystringS=""//sameasnil}b.在变量中展开字符串,使用@...@S=“Hey,@username@,don’tbreakthebuildagain!”c.字符串当成数字来运算s="1"x=s+2//xnowcontainsthestring"3"y=2*x+5//xnowcontains"11"但这样就是错的,s="hello"x=s+1//error如果要灵活,可以先检测一个字符串是不是数字,if(IsNumber(x))x=x/4//okaytodoarithmeticd.引用字符串中的字符,s="abc"x=s[0]//xnowcontainsthestring"a"si的字符串也是zero-terminated,s="abc"length=strlen(s)ch=s[length]//chnowcontainstheemptystringif(ch=="")msg"Endofstring."5.关于结构体定义Rec=nil//initializesasanemptystringRec.name=“JoeSmith”Rec.age=“34”Rec.experience=“guru”另一种定义方法,rec=“name=\”JoeSmith\”;age=\”34\”;experience=\”guru\””引用结构体Filename=slr.file//getfilefieldofslrLineNumber=slr.lnFirst//getlnFirstfieldofslr6.关于数组si宏并没有提供数组的概念,数组是通过buf来模拟实现的,关于buf还是在介绍macroAPI时再讨论。7.运算符.加减乘除(+,-,*,/).逻辑(&&,||,!).自增自减(++,--),可前可后.算术比较(>,<,>=,<=,==,!=).字符串比较(==,!=).字符串连接(#)与引用(@...@)22:02|HYPERLINK"http://hilbert.spaces.live.com/blog/cns!73AE047AE0B43623!184.entry"\o"此日志的固定链接"固定链接|HYPERLINK"http://hilbert.spaces.live.com/?_c11_BlogPart_BlogPart=blogview&_c=BlogPart&partqs=cat=source%20insight"\o"显示此类别的所有日志"sourceinsightHYPERLINK"http://hilbert.spaces.live.com/blog/cns!73AE047AE0B43623!183.entry"sourceinsight研究——正则表达式篇sourceinsight研究——正则表达式篇正则表达式主要用来做搜索和替换,一般强大一点的编辑器都会支持。si在搜索和替换界面里都有UseRegularExpression这样的选项。个人认为使用正则表达式(后简称RE)应该是每个程序员都应该掌握的技