×

TCL语言教程中文版详细说明

消耗积分:1 | 格式:pdf | 大小:1.71 MB | 2020-07-22

ah此生不换

分享资料个

  欢迎来到 Tcl 教程。我们写这本教程目标是为了帮助你学习 Tcl 这门语言。它针对的是那些有一些编程知识的人,尽管你并不一定是一个专家。这个教程打算作为 Tcl 手册页面的副品,而它们提供了所有 Tcl 命令的一个参考。它分为简短的几部分,每部分涉及这门语言的不同方面。根据你所使用的系统,你可以查询参考文档来寻找你感兴趣的命令。例如,在 Unix 系统下,“man while”会显示 while 命令的使用手册页。每部分都附有相关的例子,让你明白如何使用相关的资料。其他的资源: Tcl 社区是非常友善的一个。如果自己可以尝试并弄明白那将是非常值得赞赏的。但是如果你遇到了挫折,我们也非常愿意提供帮助。下面是一些获得帮助的好去处: 1. Comp.lang.tcl 新闻组。通过新闻阅读器或者 Google Groups 访问。 2. Wiki 有很多关于 Tcl 用法的好点子的有用的代码,例子和讨论。 3. 如果你需要立即的帮助,irc.freenode.net #tcl 频道经常会有一些在线的家伙可以帮到你。但是请不要焦躁,如果没有人及时帮助你(如果你需要这样的支持,考虑雇一个顾问吧)。 4. 对于那些希望获得 Tcl 更深知识的人来说,有几本书可以推荐。Cilf Flynt,也是这本教程原作者,《Tcl/Tk:开发者指南》。其他畅销书:《Tcl 和 Tk 实践编程》。致谢:首先,感谢 Clif Flynt 他在 BSD 协议下发布了他的资料。下面的人也作出了贡献: 1. Neil Madden 2. Arjen Markus 3. David N.Welton 当然,我们也欢迎关于如何提高本教程的评论和建议。或者,如果本教程足够好,我们也不介意来一点感谢,呵呵。

  当我们已经安装了 Tcl,你接下来要调用使用的程序是 tclsh。举例来说,如果你写了一些代码到 hello.tcl 文件,并且你想要执行它,你可以这样做:tclsh hello.tcl。根据你安装的 Tcl 的版本及你使用的操作系统发行版本,tclsh 程序可能只是一个真正的执行体的链接,在微软 Windows 下面,它可能链接到 tclsh8.6 或者 tclsh86.exe。 Tclsh 是一个简单的命令行交互式解释器。你可以要么在命令行用脚本启动它,这样它执行脚本到结束,然后退出;也可以不需要任何参数来启动它,这样它会呈现一个交互式的提示,即“%”用来提示输入。在交互模式下,你可以输入命令,这样 Tcl 然后会执行并显示结果,或者导致的任何错误信息。退出解释器,输入“exit”,然后按回车键。使用交互式解释器是一个非常好的学习如何使用 Tcl 的方法。如果输入命令而没有参数,大部分的 Tcl 的命令会产生一个有用的错误消息,它会解释这些命令是如何使用的。通过输入“info commands”,你会得到一个你的解释器知道的全部命令的列表。 Tclsh 执行体只是启动 Tcl 解释器方法之一,另一个常用的执行体,已经被安装到了你的系统里,是 wish,或者 WIndowing SHell。这个版本的 Tcl 自动加载创建图形用户界面(GUI)的 Tk 扩展。本教程不涉及 Tk,因此这里我们不使用 wish 解释器。其他的选项也是可以的,这样开发和调试代码时,可以提供比标准 tclsh 提供的功能更丰富的环境。一个非常流行的选择是 Jeff Hobbs 编写的 TkCon 强化版解释器。Eclipse IDE,以 DLTK 扩展的形式,提供了很好的 Tcl 支持。而且 Tcl 用户的 Wiki 提供一个提供 Tcl 支持的及一个 IDE 的列表及一个全面的 Tcl 源代码编辑器的目录。但是,不要慌。如果你不知道如何使用一个复杂的开发环境,通过简单文本编辑器来写 Tcl 代码也是非常容易的。

 

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'TCL语言教程中文版详细说明',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);