欢迎访问测试中国(www.testingcn.com),做测试的朋友请加QQ群:45598719

Ruby(动态编程语言)入门初学者导航

上一篇 / 下一篇  2007-03-09 13:22:38 / 个人分类:开发相关

Ruby入门初学者导航

tuenhai对程序设计的偏爱甚于其他任何方面。程序设计是创造的世界,可以让一个人的创造力近乎无限的发挥。这不就是“上帝”老人家最为宝贵的品质吗?

在接触计算机以后,先是学习Dos命令,接着是html。Excel VBA让我对程序语言有了个初步印象。VBA和VB比较接近,于是稍微了解了一下VB,然后就是Visual Studio 2003。

2005年下半年接触模拟精灵,到现在大概写了一万行模拟精灵脚本代码。模拟精灵脚本采用Lua语法,自然熟悉了Lua的语法。从这里可以看出模拟精灵作者的过人之处,他为什么不自己去“创造”一种语法呢?Lua现在比较火,一定程度上把模拟精灵作为Lua的IDE或文本编辑器也不错。

模拟精灵支持代码自动完成,语法提示,自定义函数说明,支持自定义命名空间。
代码自动完成:写代码时就不会有笔误发生;
语法提示,自定义函数说明和命名空间:即使自定义200个函数,也不用去记忆函数调用方法了,键入代码时会自动提示的。

模拟精灵如能支持代码折叠,脚本语法一直和Lua同步,就比较完美了。
从模拟精灵的推广策略看,如果象现在这样多数用户写了程序只是自己用,模拟精灵就难以推广开。我本来想发布一个bokee.com博客网日志自动提交工具(我的日志都是程序自动提交的,要做的只是one click),界面非常简单,用户名、密码和目录文本框,提交按钮,一个自定义按钮(可以自定义一些文字,变成某某专用版,拿来送给mm非常不错),还有一个博客常用的文本编辑器。用模拟精灵写这样的程序是非常简单的。在程序某处写上“本程序用模拟精灵编写"。程序发布后,就可以起到长久宣传“模拟精灵”的作用。发布模拟精灵写的“群发器”是没有什么作用的,软件站不可能收录,相反,会起到不好的作用。

和Lua语法同步很重要,这样用户学了模拟精灵就相当于学了Lua, 同时会Lua的人可以立即写模拟程序。对用户有利的就是对自己有利的。



虽然目前会一点Lua了,但Lua还是不能完全满足我的要求。Visual Studio 2005如何? MS的东东有一个优点,就是文档要多少有多少,只要你有足够耐心,学不会是不可能的!tuenhai的目标,并不是去作大型的开发,而是很快编出自己想要的程序。Ruby似乎能满足我的愿望。

于是在网上查Ruby的学习资料,查到的一些资料不是太适合第一天接触Ruby的初学者,快要放弃了。直到2006年5月10日,找到一个叫夏克的人建的“Ruby中文化计划”:
http://www.moer.net/ruby/
这个网站的Ruby中文资料翻译得很不错,于是写下这篇文章,放在http://www.tuenhai.com
希望对第一天接触Ruby的人有些帮助。(英文资料不是不可以看,由于没有看英文文档的习惯,读起来比较慢,本人又有那么一点耐心不足:)



一. 安装Ruby


到下面网址下载最新版Ruby One-Click Installer - Windows
http://rubyforge.org/projects/rubyinstaller/
如果你是Linux环境的,就不必看这篇文章了。本文是写给象我这样菜鸟的。
我把Ruby装在D:\ruby。通常C:是系统盘,作Ghost备份。



二. 第一次使用Ruby怎么写出第一个程序?


“Ruby中文化计划”真是个不错的网站,对于初学者怎么写第一个程序写得很详细,引用在下,并略作修改:

问: 我从没接触过Ruby,能不能简单说说怎么开始
答: 其实在我们翻译的《ruby程序设计》的《序》里面就有,不过,我还是说一下比较直观:

安装:
我以我自己的为例,下载ruby184-17.exe,网址:http://rubyforge.org/projects/rubyinstaller/ (或到http://www.ruby-lang.org/去找)。下载后,直接执行ruby184-17.exe,(因版本不同,文件名可能不同),把它安装到D:\Ruby

运行:
我的系统是XP,默认安装后,Ruby的路径和文件关联都已经设置好了,你可以直接执行.rb的文件。打开记事本,输入下面的内容:
puts "Hello, world!"
存盘为first.rb,然后打开XP中的命令行窗口,用cmd等Dos命令进入first.rb所在目录,输入:
first.rb
回车即可看到显示"Hello, world!"。
如果文件关联不起作用,输入:
ruby first.rb
如果Ruby路径不起作用,则应该检查系统路径了。

3、使用IDE

ruby安装默认会带有SciTE,打开D:\ruby\scite\SciTE.exe,或在“开始”,“程序”中打开SciTe,在左边窗口输入:

puts "hello"

然后保存为first.rb,选择菜单[Tools]-[Go](或按F5),这时右边的调试窗口中就会出现调试结果了,如果返回Exit code: 0,则表示运行成功,否则会给出提示。

写第一个函数:
在SciTE左边窗口输入下面代码:

def sayGood(name)
 a="Welcome to "+name
 return a
end
puts sayGood("tuenhai.com")

把代码保存到first.rb,按F5。
上面程序运行通过后,你就可以很愉快地看http://www.moer.net/ruby/ 的文档,看到例子就在SciTE中实践一下,你会发现Ruby入门是多么的简单。




Ruby编辑器SciTE的配置



1. 让SciTE支持中文:
默认SciTE是英文版,下载下面这个文件:
http://scintilla.sourceforge.net/locale.zh_gb.properties
以文件名为locale.properties 保存到SciTE.exe所在目录。
也可到http://scintilla.sourceforge.net/SciTETranslation.html 下载,我去下载说是带宽限制到了,下不了。
另外 打开“选项”菜单,SciTEGlobal.properties,设置两个参数code.page=936, character.set=134 or 132
设置好后,重新开启SciTE就是中文版的了。

2. 其他配置
最近版本的 SciTE 增加了一个修改 "User Options File" 的菜单项, 通过这儿可以修改用户 home 目录(在 Windows 2000, XP, 2003上, 是环境变量 "USERPROFILE" 所对应的目录)下的文件 "SciTEUser.properties" 文件, 只需要把配置加在这个文件里面就可以覆盖默认配置了.
下面是具体的配置文件,tuenhai(tuenhai.com)加上了注释:

#Internationalisation设置编码
code.page=936
character.set=132

#Indentation设置缩进
#默认是缩排8位,最好是统一改为4位
tabsize=4
indent.size=4
#自动缩进
indent.auto=1
indent.automatic=1
indent.opening=1
tab.indents=1
backspace.unindents=1

# Wrapping of long lines设置换行
wrap=1
output.wrap=1

# Checking检查
check.if.already.open=1
#设置语法提示的路径,参考作者网站的例子 Ctrl+I
api.*.rb=$(SciteDefaultHome)\ruby.api
#同时打开的文件数
buffers=10
#显示最近使用文件列表
save.recent=1
#缺省语言,改成.rb
default.file.ext=.rb
title.full.path=1
title.show.buffers=1

#Folding自动折叠
fold.symbols=2

# Window sizes and visibility界面
#输出窗在下面
split.vertical=0
#默认设置中,光标在文件最后一行时垂直滑动条无法再向下滚动,不符合使用习惯
end.at.last.line=0
#显示状态栏
statusbar.visible=1
#界面位置大小
position.left=30
position.top=22
position.width=740
position.height=576

# Sizes and visibility in edit pane控制面板
#去掉行号右边空白
line.margin.width=0
#显示行号
line.margin.visible=1

# Element styles样式
#设置前景色和背景色
selection.fore=#FFFFFF
selection.back=#0080FF
view.whitespace=1
view.indentation.whitespace=0
view.indentation.guides=1
highlight.indentation.guides=1
 
# Behaviour特性
clear.before.execute=1
#自动完成
autocompleteword.automatic=1
#设置 Home/End 默认跳至逻辑行的行首和行尾,即使打开了自动换行
wrap.aware.home.end.keys=1

# Give symbolic names to the set of fonts used in the standard styles.字体
font.monospace=font:Courier New,size:9
font.base=$(font.monospace)
font.small=$(font.monospace)
font.comment=$(font.monospace)
font.text=$(font.monospace)
font.text.comment=$(font.monospace)
font.embedded.base=$(font.monospace)
font.embedded.comment=$(font.monospace)
font.vbs=$(font.monospace)







三. Ruby学习网络资源



英文资源:
http://www.ruby-lang.org/
http://www.ruby-doc.org(访问不到可用下面的网址访问):
http://anonymouse.org/cgi-bin/anon-www.cgi/http://www.ruby-doc.org
http://rubyforge.org/
http://www.rubygarden.org/ruby
http://www.rubyxml.com/
http://www.pragmaticprogrammer.com/titles/ruby/
http://www.ruby-forum.com/
http://groups.google.com/group/comp.lang.ruby?hl=zh-CN&lr=&newwindow=1
http://eigenclass.org/hiki.rb?ruby+blog
http://jimweirich.umlcoop.net/
http://wiki.rubyonrails.org/

中文资源:
http://www.moer.net/ruby/
http://rubycn.ce-lab.net/
http://www.ruby-cn.org/
http://www.railscn.com/
http://chinaonrails.com/
http://www.ruby-lang.tw/
http://www.blogjava.net/cap/articles/book.html

http://www.uuzone.com/club/ror/
http://www.koalant.com/rubyonrails.pdf (Ruby on Rails 实践,迅雷下载)
Ruby on Rails 和 J2EE:两者能否共存:
http://www-128.ibm.com/developerworks/cn/java/wa-rubyonrails/
我的订餐系统 -- 小试ruby on rails:
http://www.blogjava.net/davidxu/archive/2005/08/14/rubyonrails.html
http://ror.blogbus.com/s1029824/ (todayhill的blog)


(更多文章请访问www.tuenahi.com 20060510)

TAG: 开发相关 Ruby 语言入门

 

评分:0

我来说两句

Open Toolbar