搜档网
当前位置:搜档网 › Ruby语言入门教程

Ruby语言入门教程

Ruby语言入门教程
Ruby语言入门教程

Ruby语言入门教程

Version0.6

编著张开川

kaichuan_zhang@https://www.sodocs.net/doc/3815107556.html,

目录

自序 (3)

第一章概述 (4)

1.1编程语言的发展简史 (4)

1.2编程其实很容易 (5)

1.3Ruby的由来 (6)

1.4Ruby的特性 (7)

第二章 (8)

2.1下载Ruby1.8.5 (8)

2.2安装Ruby1.8.5for Windows (8)

2.3开始第一个小程序 (10)

2.4ruby语言的集成开发环境 (12)

第三章语法快览 (14)

3.1注释与分行 (14)

3.2分隔符 (15)

3.3关键字 (16)

3.4运算符 (17)

3.5标识名和变量的作用域 (19)

3.6类库 (19)

3.7数据类型 (20)

3.8赋值和条件运算符 (21)

3.9条件判断语句 (22)

3.10循环语句 (24)

3.11常与线程 (29)

3.12一个综合小练习 (30)

第四章一切都是对象 (31)

4.1两种思维方式 (31)

4.2对象 (32)

4.3封装 (33)

4.4继承 (34)

4.5多态36小跋37

自序

其它编程语言的学习都主要来自于书本,而Ruby的学习却是完全经由网络。我想,回报网络的最好方式就是在网络上还没有Ruby中文书籍的时候,编著一本Ruby中文入门教材。感谢编程语言发展史上的前辈们;感谢网络论坛上程序员们或是理智,或是激烈的讨论;感谢一切看到这本书的人。

曾经经受了SCJP的挖掘、挖掘、再挖掘(基于1.4,还没有Java5,Java6的许多特性),初遇Ruby,觉得十分亲切,仿佛童年时得到一个新奇的玩具。把玩之后,才发现玩具的塑料外壳里,藏着一把瑞士军刀。自此,模式、框架常常变得多余,很多时候可以更直接。好比在量子时代,星际航行只是一次时空转换而已,航天飞机静静地躺在博物馆里,那是旧时代科学的极致代表。

从物理课本中,我们感受到爱因斯坦的伟大,但对牛顿则怀以更加崇敬的心情。身体终将消逝,而你,我,他——我们的意识却将在网络中延续。旧时代文明的延续依赖于纸质书籍,书籍传递了理性之光。也许直觉才是这个宇宙本体的最初相用,直觉是一种天赋,我无从把握,但是理性,如此真切实在,她照亮了我,照亮了你,直到未来。

思,亘古如斯又倏忽闪现,谁的惊愕能深究它。

——海德格尔

张开川

2006年12月31日

第一章概述

1.1编程语言的发展简史

本小节是一些编程语言的简单介绍,你如果不感兴趣,可以略过不看。

先说程序是什么?程序就是指令序列的有序集合。指令即代码,可以是数字,也可以是文字,文字最终要转换成数字。也就是说,程序是许多数字串,当然,也可以合并成一个很长很长的数字串。

程序的作用是什么?程序能够做事,做你想叫它做的事。用学术语言来说,程序的功能是完成它的使命。它的使命由编写程序的人来决定,或者由编写程序的程序来决定。

编写程序就是写文章,写能够转换成很长很长数字串的文章,给计算机看。

最初的计算机编程语言是一长串二进制代码。所谓的二进制就是只有1和0,所以第一代的计算机编程语言就象下面的许多1和0。

1001101001010011

0100011101111110

1010101000010100

11110100001010001

……

这是给计算机看的,你看不懂,我也看不懂,程序员自己下次再看的时候,也是搞不清。但是,这是最基本的。直到现在,计算机的中央处理器(CPU)还是只认1和0组成的二进制代码。

第二代的计算机编程语言叫汇编语言,就象这样:

LD x,37H

MOV a,x

……

程序员之间能够很容易地交流,但是这样的语言编写效率很低,而且不同的CPU有不同的指令集,根本无法重复使用。

第三代的计算机编程语言称之为高级语言。容易编写,容易阅读,容易交流,而且可以与CPU、操作系统无关。从1958年的LISP和1957年的FORTRAN开始到现在,我们接触到的编程语言几乎都是第三代语言。其中又有两大类。一类叫函数式语言,如:LISP,Haskell。一类叫命令式语言,如:FORTRAN,Pascal,C++,Java。

第四代的计算机编程语言,你只要告诉它你要什么,无须告诉它怎么做,它就能把答案给你。上个世纪八十年代末发展起来的数据库查询语言(SQL)就是一个例子。第四代的编程语言还在起步阶段,智能化程度还有待于加强。SQL是当今最为强大的数据检索机制之一;SQL并不能完成一个过程语言所能完成的所有任务。

需要说明的是,面向对象的编程语言并不是第四代语言。面向对象是一种认识事物的方式、理念,你可以面向对象地编程(OOP),也可以面向对象地设计(OOD)。面向对象的编程语言是过程语言的自然延续,同属于第三代命令式语言。

大家平常所说的编程语言是指第三代的计算机编程语言。有的语言是解释执行,如Python,Ruby,交互性很好;有的语言是编译执行,如Pascal,C,速度较快。有的语言是本地执行,如C,C++;有的语言是虚拟机执行,如Java,C#。有的语言是动态语言,如JavaScript,Ruby;有的语言是静态语言,如C++,Java。

1.2编程其实很容易

一门语言包含三个方面:语义,语法和语用。汉语,英语是如此,计算机编程语言也是如此。

从语义方面来看,人类语言的单词量非常大,要以万计,常用单词也有几千;计算机编程语言的基本单词只有几十个,我们称之为关键字。

学习一门计算机编程语言只要搞清楚这几十个关键字的意思、用法,就大致及格了,六十分到手了。如果要灵活应用一门计算机编程语言,就必须在反复使用的过程中去不断加强理解,不断加深体会。如果碰上好的教材,遇到好的老师,那么入门拿到六十分是很容易的。要想拿到八十分、九十分,就看各人修行了,所谓拳不离手,曲不离口。多多练习,“无它,但手熟尔”。

Ruby是一种动态语言,语法简单,就象当年的BASIC一样,非常容易上手,适合初学者。对于编程高手来说,Ruby里有许多深奥之处,等待你去发掘。

1.3Ruby的由来

松本行弘(Matz)是日本一家开源软件公司的程序员,有15年的编程经验。在工作中,他希望有一种比Perl强大,比Python更面向对象的语言。从1993年2月,他开始设计一个全新的自己的语言,1994年12月发布了第一个alpha版本,并且将这种新语言定名为Ruby(红宝石)。发展到现在,最新版本是Ruby1.8.5(2006-8-25)。

1.4Ruby的特性

计算机编程语言的发展总是与飞速变化的世界息息相关的,Ruby是为了适应变化、提高和完善编程艺术而出现的。

●完全开源

●多平台Ruby可以运行在Linux,UNIX,Windows,MS-DOS,BeOS,OS/2…

●多线程线程(Thread)就是指能在一个程序中处理若干控制流的功能。与OS提供的进程不同的是,线程可以共享内存空间。Ruby中使用的线程是用

户级线程,由Ruby解释器进行切换管理。其效率要低于由OS管理线程的效率,且

不能使用多个CPU,这确实是它的缺点。但其优点也很明显,即可移植性很高。

●完全面向对象

●不需要内存管理具有垃圾回收(Garbage Collect,GC)功能,能自动回收不再使用的对象。

●解释执行其程序无需编译即可轻松执行。

●功能强大的字符串操作/正则表达式

●具有异常处理功能

●可以直接访问OS Ruby可以使用(UNIX的)绝大部分的系统调用。单独使用Ruby也可以进行系统编程。

●动态类型语言Ruby的变量没有类型,因此不必为类型匹配而烦恼。

●动态语言程序运行中,可以新加入属性,行为,也可以重写方法。

●支持操作符重载

●支持无限精度的数字例如计算400的阶乘也轻而易举。

●丰富的库函数

●用模块进行混合插入(Mix-in)Ruby舍弃了多重继承,但拥有混合插入功能。使用模块来超越类的界限来共享数据和方法等。

●语法简单它是脚本语言,没有指针,学习曲线比较低。.

……

Ruby吸取了perl的正则表达式,python的简单性可读性,smalltalk的纯面向对

象语法和单继承,lisp的无穷嵌套的语法,java的线程…

第二章

你如果只是想了解Ruby语言,不准备实践,请跳过本章,从第三章开始我们的Ruby语言之旅。

2.1下载Ruby1.8.5

首先下载Ruby1.8.5(2006-8-25)for Windows:

在网页https://www.sodocs.net/doc/3815107556.html,/downloads/上找到

--〉Ruby on Windows

--〉Ruby1.8.5One-Click Installer Stable version(recommended)

点击鼠标右键,另存为…,存入你的本地硬盘,这就完成了下载。

2.2安装Ruby1.8.5for Windows

运行下载好的文件ruby185-21,出现安装向导界面,

点击next?

点击I Agree?

点击next?出现如下的选择安装位置界面,

改变你想安装Ruby的路径,我选择了e:盘;

点击next?

点击Install?

点击next?

点击Finish,一切OK,安装完成。

2.3开始第一个小程序

从Windows XP的开始—〉运行—〉输入cmd,打开一个DOS窗口;

1.版本

输入ruby–v,

屏幕显示了版本号。

2.开始第一个小程序,打印“hello,world”

第一种方式:

输入ruby–e‘print“hello,world”?,

ruby的意思:运行这个ruby语言程序;

-e的意思:把后面的一行脚本作为一个ruby程序;

print的意思:打印;

hello,world的意思:这是我们要输出的内容。

第二种方式:

ruby语言自带了一个交互式的编程环境irb,这是一个shell窗口。在e:\ruby,输入:irb;

输入:print"hello world";

输入:print"中文world";

如果要退出irb交互式环境,输入:exit。

第三种方式:

你如果觉得上面的方式太繁琐,请在e:\ruby下,输入下面图示内容:

2.4ruby语言的集成开发环境

上一节第三种方式编写代码与运行程序分开操作,你很不习惯。这一节,我们试着建立ruby语言的集成开发环境。

1.使用Eclipse开发ruby应用程序Eclipse是一个功能强大的跨平台集成开发环境,支持对java,jsp,php等的开发,若是开发ruby应用程序,需要下载并配置RDT(Ruby Development Tools),一组Eclipse插件。运行Eclipse需要jre。编程语言的初学者,不熟悉Java,所以我不详细介绍Eclipse+RDT的搭建。如果你是一个Java程序员,下载并配置RDT是很easy的。

2.使用ruby自带的集成开发环境Ruby1.8.5for Windows自带了一个集成开发环境FreeRIDE,和一个代码编辑工具SciTE。后面的程序我们将使用SciTE编辑并运行ruby程序。

点击Windows XP的开始—〉所有程序—〉Ruby-185-21—〉SciTE,

打开的窗口是英文,关闭它。去SciTE的网站下载一个文件locale.zh_gb.properties(10k),改名为locale.properties复制到E:\ruby\scite\下,重新打开SciTE,

OK,都是中文了。今后,你在SciTE中写好代码,保存为.rb文件(文件扩展名必须是rb)。选择菜单栏上的工具—〉运行,或者按下键盘F5键,就看到了执行结果。

第三章语法快览

第二章的内容可以跳过不看,本章的内容虽然不需要熟记,但是应该建立一个大致印象,为后面章节的内容打下基础。

3.1注释与分行

Ruby中的注释有单行与多行两种,先看一个程序E3.1-1.rb:

#E3.1-1.rb从#开始到行尾是单行注释

puts3/5

puts3/5.0

=begin

puts6/5

puts6/5.0

多行注释可以用=begin和=end;

实际上,这也是Ruby的内嵌文档(Rdoc)注释,类似javadoc,

可以用命令r i从源文件生产文档。

=end

运行结果:

>ruby E3.1-1.rb

0.6

>Exit code:0

Rdoc是内嵌在ruby代码之中的,可以转换为html文档说明。类似javadoc。ri是一个命令行程序,用来查看函数说明、类说明。函数说明、类说明应该放置在=begin和=end之中。“=begin”一定要写在行首,也就是说,这一行的前六个字符是“=begin”,不允许有空格在这之前。

Ruby中用分号“;”来表示一个语句的结束。一行如果有多个语句,每个语句用分号隔开,而最后一个语句可以省略分号。换行符表示一行结束。如果语句太长,可以用“\”连接下一行。看程序E3.1-2.rb:

#E3.1-2.rb演示分行

puts3/5?puts3/5.0

puts"这里演示"\

"连行"

运行结果:

>ruby E3.1-2.rb

0.6

这里演示连行

>Exit code:0

3.2分隔符

关键字、运算符、分隔符一起构成了一门编程语言的基本定义。3.2、3.3、3.4节分别对分隔符、关键字、运算符作一些介绍。如果有不详细的地方,将在本书后面部分介绍;或者是因为这些不常用到;还有一种情况是:可以被其它常用语法定义代替。

Ruby中的常用分隔符如下:

3.3关键字

Ruby中的关键字如下:

模块定义:module

类定义:class

方法定义:def,undef

检查类型:defined?

条件语句:if,then,else,elsif,case,when,unless 循环语句:for,in,while,until,next,break,do,redo,retry,yield

逻辑判断:not,and,or

逻辑值和空值:true,false,nil

异常处理:rescue,ensure

对象引用:super,self

块的起始:begin/end

嵌入模块:BEGIN,END

方法返回值:return

别名:alias

BEGIN模块相当于C语言中的宏,END模块用来作一些收尾工作。有了require,include,应该取消BEGIN和END的语法定义。

3.4运算符

Ruby中的运算符如下:

3.5标识名和变量的作用域

Ruby的标识名用来指向常量,变量,方法,类和模块。标识名的首字符用来帮助我们确定标识所指向内容的作用域。一些标识名,就是上面所示的关键字,不能用来当作常量,变量,方法,类或模块的名字。

Ruby的标识名区分大小写。

Ruby使用一个约定来帮助它区别一个名字的用法:名字前面的第一个字符表明这个名字的用法。局部变量、方法参数和方法名称应该用一个小写字母开头或者用一个下划线开头;全局变量用美元符作为前缀($);而实例变量用@开头;类变量用@@开头;类名、模块名和常量应该用大写字母开头。

词首字母后面可以是字母、数字和下划线的任意组合;@后面不可以直接跟数字。

Ruby程序代码现在是用7位ACSII码来表示,通过语言扩展来支持EUC,SJIS或UTF-8等8位编码系统。Ruby2.0版本将支持16位的Unicode编码。

3.6类库

Ruby像C++一样,有许多类库可以供你使用,其中的I/O库很完善。前面我们使用了puts和print,你一定注意到它们并不是关键字,为什么能够直接使用?

一门编程语言,A)关键字可以直接使用;B)还有其它常用的应用程序,我们将它们放在一个专门的目录下,称为类库(许多类的仓库)。如果当前程序要用到类库中某个程序已经定义好的类、方法,就应该使用require或者include将类库程序名包含在当前程序中;C)从父类继承得到的方法可以直接使用。

I/O就是输入/输出,这是Ruby语言Kernel模块的方法,Mix-in在根类Object中的。

puts把它的所有参数写出来,每一个参数结束都加入一个换行符,print也写出它的参数,不过没有换行。你可以指明输出到一个文件,不说明,则一般输出到

显示器。

还有一个常用的输出方法是printf,它按格式输出参数。

printf"Number:%4.3f,String:%s",7.8,"hi!"

运行结果:

Number:7.800,String:hi!

这个例子中,格式字符串"Number:%4.3f,String:%s"告诉printf用一个浮点数(总共允许4位,小数点后3位)和一个字符串来代替。printf和print一样,不主动换行,换行可以用“\n”。

介绍了三个输出方法,再介绍一个输入方法:gets,它从你的程序的标准输入流中返回一行。一般用来从键盘或文件读入一行数据。

3.7数据类型

Ruby数据类型有数字,字符串,数组,哈希表,区间,正则表达式。

数字分为整数型(1,0,75,1e3),浮点型(2.4,7.0,0.99)。浮点型数据小数点后必须跟数字( 1.e3不可以,1.1e3可以)。数字可以有前缀:0表示八进制,0x表示十六进制,0b表示二进制(0724,0x5AC4,0b11101)。

字符串是在‘’(单引号)、“”(双引号)之间的代码。

数组的下标从0开始。Ruby的数组和其它语言不同,数组的每个元素可以是不同的类型:[2.4,99,“thank you”,[a,b,c],78]。

区间:1..5表示1,2,3,4,5;

1...5表示1,2,3,4。

Ruby的简单实例

Ruby的简单实例 ?出处:站长百科 ?原文地址:https://www.sodocs.net/doc/3815107556.html,/wiki/Ruby的简单实例 ?本电子书整理自站长百科Ruby简单实例词条,查看内容请访问网站。 让我们写一个计算阶乘的函数.对于阶乘的数学定义如下: n! = 1 (当 n==0 时) = n * (n-1)! (其它情况) 在Ruby里,可以这样来写: def fact(n) if n == 0 1 else n * fact(n-1) end end ?出处:站长百科

你可能会发现 end 的反复出现,正因为如此,Ruby被叫做"类Algol"语言.(实际上,Ruby的语法更像Eiffel).同时,你也可能会发现这段函数缺少 return语句.在这里是可以用return的,但却不是必须的,因为一个Ruby的函数会自动返回它所最后赋值的元素. 让我们来试试我们的阶乘函数.加入一行代码会使它成为一个可工作的程序: # Program to find the factorial of a number # Save this as fact.rb def fact(n) if n == 0 1 else n * fact(n-1) end end print fact(ARGV[0].to_i), "\n" ?出处:站长百科

这里,ARGV是一个包含命令行参数的数组,to_i将字符串转化为整数. % ruby fact.rb 1 1 % ruby fact.rb 5 120 当参数为40时它可以工作吗?它将使你的计算器产生溢出(overflow)... % ruby fact.rb 40 815915283247897734345611269596115894272000000000 它确实算出来了.实际上,Ruby能处理任何你机器的内存所允许的整数.实际上400!也可以: % ruby fact.rb 400 6403452284662389526234797031950300585070258302600295945 8684 4459428023971691868314362784786474632646762943505750358?出处:站长百科

Groovy_快速入门

Groovy 快速入门
1、集合 、 (1)List (java.util.List) ) list = [1, 2, 'hello', new java.util.Date()] assert list.size() == 4 assert list.get(2) == 'hello' 注意:一切都是对象(数字会自动转换) (2)Map (java.util.Map) ) map = ['name':'James', 'location':'London'] assert map.size() == 2 assert map.get('name') == 'James' (3)遍历集合 ) list = [1, 2, 3] for (i in list) { println i } 2、闭包(Closures) 、闭包( ) ? 闭包类似 Java 的内类,区别是闭包只有单一的方法可以调用,但可以有任意的参数 closure = { param | println("hello ${param}") } closure.call("world!") closure = { greeting, name | println(greeting + name) } closure.call("hello ", "world!") 闭包用“{}”括起,“|”前面是参数,后面是处理语句,使用 call 调用 这里我们使用了一个 Groovy-Beta3 闭包定义, 只是为了让您能看懂老版本 Groovy 的一些例子。 在 新的 Groovy JSR 中对闭包的定义略有改动, 因为 | 字符同时也是 Java 中的位操作符; Groovy JSR 建议使用 Nice (另外一种 JRE 语言)样式的 -> 分隔符代替它。 ? 第一个例子演示了在字符串内使用参数的形式:${param} ? 第二个例子演示了多参数形式:用“,”分隔参数 ? 如果只有一个参数,可以不写,而使用缺省的参数“it”,如下面的例子: closure = { println "hello " + it } closure.call("world!") 3、each 、 ?
遍历集合,逐个传递给闭包
[1, 2, 3].each { item | print "${item}-" } ? 上面例子的输出结果是:1-2-3-

Ruby字符串

Ruby字符串 ?出处:站长百科 ?原文地址:https://www.sodocs.net/doc/3815107556.html,/wiki/Ruby‐字符串 ?本电子书整理自站长百科Ruby‐字符串词条,查看内容请访问网站。 站长百科(https://www.sodocs.net/doc/3815107556.html,/wiki)站长自己的百科全书分享自己的建站知识 WIKI平台与站长一道共建知识库站长百科活动不断论坛发帖赚银币! 参加1美元竞拍更有机会赢2G超大免费空间! 超值好礼等您拿 Ruby将字符串像数字一样处理.我们用单引号('...')或双引号("...")将它们括起来. ruby> "abc" "abc" ruby> 'abc' "abc" 单引号和双引号在某些情况下有不同的作用.一个由双引号括起来的字符串允许使用转义字符,就是反斜杠开头的字符,而且可以用#{}内嵌表达式.而单引号括起来的字符串并不会对字符串作任何解释;你看到的是什么便是什么.几个例子: ?出处:站长百科

ruby> print "a\nb\nc","\n" a b c nil ruby> print 'a\nb\n',"\n" a\nb\nc nil ruby> "\n" "\n" ruby> '\n' "\\n" ruby> "\001" "\001" ruby> '\001' ?出处:站长百科

"\\001" ruby> "abcd #{5*3} efg" "abcd 15 efg" ruby> var = " abc " " abc " ruby> "1234#{var}5678" "1234 abc 5678" Ruby的字符串操作比C更灵巧,更直观.比如说,你可以用+把几个串连起来,用*把一个串重复好几遍: ruby> "foo" + "bar" "foobar" ruby> "foo" * 2 "foofoo" 相比之下,在C里,因为需要精确的内存管理,串联字符串要笨拙的多: char *s = malloc(strlen(s1)+strlen(s2)+1); ?出处:站长百科

《Ruby on Rails敏捷开发最佳实践》PDF教程

《Ruby on Rails敏捷开发最佳实践-精典章节收录》PDF教程 申明:本PDF教程由https://www.sodocs.net/doc/3815107556.html,网站搜集整理,如需转载,请务必注明出处。介绍:Ruby On Rails框架一经推出,立即引起B/S结构应用开发领域革命性的变化:开发者无需理会架构,只需要按Rails框架的约定向应用中填充代码,一切OK。 为了让众多Ruby On Rails学习、工作者,以及准备使用Ruby On Rails作为开发平台的开发人员能快速掌握Ruby On Rails的开发,作者精心编写了本书,书中既详细讲解了Ruby语言的基本语法,又重点介绍了Rails框架相关知识点的各种用法。最后给出两个综合案例,作为Ruby On Rails应用开发者的参考,读者可以通过这两个案例触类旁通,解决日常开发中的问题。 读者对象 本书适用于正在使用Ruby On Rails进行应用开发的开发人员、渴望了解Ruby On Rails框架的开发人员,尤其适合有初步的Java EE开发经验,想从Java EE平台过渡到Ruby On Rails开发平台的开发者。(未完待续) https://www.sodocs.net/doc/3815107556.html,

第15章Rails 的邮件抽象层 本章要点 ·电子邮件的基础知识 ·SMTP 协议初步 ·POP3协议初步 ·在Ruby 程序中使用SMTP 支持发送邮件 ·在Ruby 程序中使用POP3支持接收邮件 ·ActionMailer::Base 的邮件支持 ·在Rails 应用中发送邮件 ·发送HTML 格式邮件 ·发送带附件的邮件 ·电子邮件在实际应用中的用途 ·账户需要激活的优势 ·实现注册激活系统 15.4注册激活系统 本章将介绍一个注册激活系统,当用户输入注册信息时,必须输入有效的邮箱,当用户注册成功后,并不能立即登录系统,而要登录注册时输入的邮箱,然后通过该邮箱内的激活邮件来激活自己账户。通过这种方式可以防止用户恶意注册,保证用户必须输入有效的邮箱地址。 15.4.1基本注册功能 当用户注册一个账户时,实际上就等同于向底层数据表增加一条记录,因此本应用必须有持久层支持。本示例应用的注册功能需要一个数据表支持,该数据表用于保存系统的所有注册账户。下面是本应用的数据库脚本: drop database if exists regist_development; create database regist_development; use regist_development; --创建用户表 create table users ( id int not null auto_increment,

ruby入门教程 免费篇

介绍 这是一个短小的Ruby入门,完全读完只需20分钟。这里假设读者已经安装了Ruby,如果你没有安装的话,请在阅读文前访问Ruby 官方网站进行下载并安装。 交互式的Ruby 打开IRB(交互式Ruby外壳): 如果你使用Mac OS X,那么请打开终端窗口输入irb; 如果你使用Linux,那么请打开shell输入irb; 如果你使用windows,那么请在开始菜单中找到Ruby->fxri,并执行它。 Ok,在打开IRB之后,在其中输入"Hello World"。 Ruby听从你的安排! 发生了什么?我们刚才编写了世界上最短小的“Hello World”程序吗?这么说不太确切。第二行输出是IRB告诉我们:上一个表达式的评

估结果。如果我们希望打印出“Hello World”,那么就还需要一点努力: puts在Ruby中是一个简单的打印输出命令。后面的“=>nil”表示什么?——那是表达式的结果。Puts总是返回nil,这是Ruby中表示“绝对无值”(absolutely-positively-nothing value)的方式,看上去有些类似Java中的null。 你的免费计算器在这里! 无需做什么,我们就能把IRB作为一个简单的计算器使用: 这样就能计算3+2。够简单的!那么3乘以2如何?你可以在下面继续输入3*2,也可以回到上面(3+2处)重新修改你刚刚输入的计算公式。使用键盘上的向上键,使光标到达3+2那一行,再用左键移动光标到加号上,然后使用空格键进行修改。

下面,让我们尝试计算3的平方: 在Ruby语言中,**表示幂运算。那么如何计算平方根呢? Ok,等一下,表达式中的sqrt(9)表示什么?你一定能猜到这是计算9的平方根。而Math表示什么?不要着急,下面就让我们进一步了解像Math这样的模块。 模块——按照主题分组的代码 Math是Ruby内建的数学模块。在Ruby中,模块提供了两种角色:一种角色是将类似的方法聚集在同一个“家族”名下。因此,Math 也包括sin、tan这样的方法。第二种角色是一个圆点(dot),它标记了消息的接收者。什么是消息?在上面的例子中,sqrt(9)便是消息,它意味着调用sqrt方法取出9的平方根。 Sqrt方法调用的结果是3.0。你可能注意到它并不是3。这是因为多数情况下,数字的平方根并不是整数,所以这里返回了一个浮点数。

Ruby语言入门教程

Ruby语言入门教程 Version0.6 编著张开川 kaichuan_zhang@https://www.sodocs.net/doc/3815107556.html,

目录 自序 (3) 第一章概述 (4) 1.1编程语言的发展简史 (4) 1.2编程其实很容易 (5) 1.3Ruby的由来 (6) 1.4Ruby的特性 (7) 第二章 (8) 2.1下载Ruby1.8.5 (8) 2.2安装Ruby1.8.5for Windows (8) 2.3开始第一个小程序 (10) 2.4ruby语言的集成开发环境 (12) 第三章语法快览 (14) 3.1注释与分行 (14) 3.2分隔符 (15) 3.3关键字 (16) 3.4运算符 (17) 3.5标识名和变量的作用域 (19) 3.6类库 (19) 3.7数据类型 (20) 3.8赋值和条件运算符 (21) 3.9条件判断语句 (22) 3.10循环语句 (24) 3.11常与线程 (29) 3.12一个综合小练习 (30) 第四章一切都是对象 (31) 4.1两种思维方式 (31) 4.2对象 (32) 4.3封装 (33) 4.4继承 (34) 4.5多态36小跋37

自序 其它编程语言的学习都主要来自于书本,而Ruby的学习却是完全经由网络。我想,回报网络的最好方式就是在网络上还没有Ruby中文书籍的时候,编著一本Ruby中文入门教材。感谢编程语言发展史上的前辈们;感谢网络论坛上程序员们或是理智,或是激烈的讨论;感谢一切看到这本书的人。 曾经经受了SCJP的挖掘、挖掘、再挖掘(基于1.4,还没有Java5,Java6的许多特性),初遇Ruby,觉得十分亲切,仿佛童年时得到一个新奇的玩具。把玩之后,才发现玩具的塑料外壳里,藏着一把瑞士军刀。自此,模式、框架常常变得多余,很多时候可以更直接。好比在量子时代,星际航行只是一次时空转换而已,航天飞机静静地躺在博物馆里,那是旧时代科学的极致代表。 从物理课本中,我们感受到爱因斯坦的伟大,但对牛顿则怀以更加崇敬的心情。身体终将消逝,而你,我,他——我们的意识却将在网络中延续。旧时代文明的延续依赖于纸质书籍,书籍传递了理性之光。也许直觉才是这个宇宙本体的最初相用,直觉是一种天赋,我无从把握,但是理性,如此真切实在,她照亮了我,照亮了你,直到未来。 思,亘古如斯又倏忽闪现,谁的惊愕能深究它。 ——海德格尔 张开川 2006年12月31日

hbuilder入门教程

hbuilder入门教程 HBuilder不仅仅提示全面的语法,非语法的各种候选输入也都能提示。包括图片、链接、颜色、字体、脚本、样式、URI、ID、class、自定义JS对象、方法。小编在本文详细介绍了Hbuilder编辑器的使用方法。 Q:怎么才能快速掌握HBuilder开发技巧? A:软件自带HelloHBuilder项目,该项目为教程项目(如果不小心删除了不要担心,可以在新建WEB项目时,使用HelloHBuilder模板新建出来),按照项目中的lesson1.txt中的快捷键敲一遍即可快速掌握HBuilder快速开发技巧。 Q:什么是HTML5+? A:HTML5+规范是基于HTML5的扩展规范,用于弥补HTML5和原生应用功能之间的差距。HTML5+规范是一个开放的规范,在W3C中国的指导下,由HTML5中国产业联盟运作所有规范都是面向开发者的,开

发者提需求、开发者评审实现方案、开发者投票选定规范。 Q:什么叫滚动条信息点? A:当代码中有重要的标记出现时,会生成滚动条信息点,在滚动条右侧出现颜色各异的点。点击这些点或使用跳转到下一个信息点功能,可以快速到达这些代码处。如下标记会生成信息点:书签、任务、错误提示。 HBuilder滚动条信息点 Q:怎么实现代码追踪? A:在编辑代码时经常会出现需要跳转到引用文件或者变量定义的地方,HBuilder提供了一个非常好用的代码追踪功能,只需要按住Ctrl+鼠标左键即可实现追踪。 图示: hbuilder代码追踪 Q:输入small不提示,语法库是不是不全? A:代码块是否提示,取决于是否设置了这个代码块,代码块是可

Ruby on Rails 之 Oracle 应用:简易教程

Ruby on Rails 之 Oracle 应用:简易教程 您可能听说过 Ruby on Rails,一个似乎正以狂风暴雨之势席卷 Web 开发社区(尤其是 JEE 和 PHP 的编程人员)的新应用框架。 Rails 是功能强大的 Web 应用平台,而且深受 JEE 和 PHP 的编程人员的喜爱。当您了解了 Rails 的优势后,您就会理解它为何对 J2EE 和 PHP 编程人员有如此的吸引力。首先,它使用任何自视甚高的设计模式专家都很钦佩的严格的模型-视图-控制器体系结构;这可以解释它为什么吸引了大量 JEE 开发人员。其次,使用 Rails 可以轻松地构建基本系统—这对 PHP 开发人员具有吸引力。 然而,从数据库的角度来说,Rails 还是有一些非常大的局限性。Rails 对您的数据库布局和应用程序需求做出了许多假定。例如,Rails 假定所有表都使用单一的非组合式主键。需通过Rails 插件支持组合式主键。此外,Rails 支持多数据库而且可以对其间事务进行协调;Rails 不支持两阶段提交。 本文章的目的不在于对 Rails 进行赞扬或批评,而只是对该技术的介绍。其中包含表扬也包含有批评。有时批评可能看起来过重了(尤其对于那些 Rails 的热爱者来说),但是请不要将 Rails 看得神乎其神。使用任何 Web 应用框架都是需要技巧的,无论是 JEE、https://www.sodocs.net/doc/3815107556.html, 还是 PHP。从长远来看,使用 Rails 可能比使用许多其他 Web 应用程序开发平台更高效,但是也需要假以时日来学习其中的技巧。 Ruby 是什么?Rails 是什么? Ruby 是一种动态编程语言,在很多方面和 Perl、Python 以及 Smalltalk 相似,但也有自己的特点。Java 和 PHP 编程人员似乎可以非常轻松地学会该语言,而且他们是 Ruby 的最忠实的拥护者。但是其他人也为该语言所吸引;这其中还包括著名的 Microsoft 王国中最资深的专家之一 Don Box。 Ruby 并不是新生事物;它创建于 1993 年,时间比 1995 年发布的 Java 或 PHP 都要久。当时 Ruby 语言虽已成熟,但不如某些其他语言受欢迎。因此,Ruby 编程语言的周边体系并不像 Java、PHP 或 Perl 那样丰富。因此,您能找到的有关该语言的框架、信息库、书籍、Web 站点、网志和其他资源也相对较少。 David Heinemeier Hanson 提出了 Rails 框架(Ruby 历史上最受欢迎的应用程序)后,Ruby 社区的软弱无力的市场表现近期发生了变化。Rails 将 Ruby 编程语言扩展为域特定的语言,特别适合 Web 开发。它还使用了另一种语言扩展ActiveRecord,使 Ruby 具有对象关系持久性。除了不支持组合主键和两阶段提

Pycharm简单使用教程netica简单使用教程

Pycharm 简单使用教程netica 简单使用教程pycharm 是Jetbrains 家族中的一个明星产品,Jetbrains 开发了许多好用的器 包括: Java 器( IntelliJ IDEA ) JavaScript 器( WebStorm) PHP 器( PHPStorm) Ruby 器( RubyMine) C 和C++ 器( CLion) .Net 器( Rider ) iOS/macOS 器(AppCode 等等。 pycharm 现在在官网是分为两个版本,第一个版本是「Professional( 专业版本) 」,这个版本功能更加强大,主要是为

Python 和web 开发者而准备,是需要付费的。第二个版本是「社区版」,一个专业版的阉割版,比较轻量级,主要是为Python 和数据专家而准备的。一般我们做开发,下载专业版本比较合适。 把resources_zh.jar 拷贝到PyCharm的安装目录下的lib目录, 重启Pycharm即可。(resources_zh.jar 汉化包关注本账号获取) 在文件-> 设置->:xxx下找到Project Interpreter 。然后修改为你需要的Python 解释器。注意这个地方一定要注意的是:在选择Python 解释器的时候,一定要选择到python.exe 这个文件,而不是python 的安装文件夹。 如何创建一个Python 包 一定要选择Python Package ,不然就不会创建一个__init__.py 文件。 在显示行号的地方右键,勾选上显示行号 设置->Plugi ns->Browse repositories ,然后输入你要安装的插

学习一门新语言的步骤!

如果你遵循以下这些步骤,就可以快速“学会所有的编程语言”。 第一步:理解这门语言的设计理念和通用的语言特性 例如,如果你要学Ruby,那就先看一下Ruby 有什么特别的? Ruby 是一门开源的动态编程语言,专注易用性和效率。它的语法很优雅,代码读起来很自然,写起来也很自然。 让我们更深入地看一下: 那么,在学习Ruby 之前,需要了解的重点是: Ruby 专注于易用性和效率,代码容易阅 Ruby 是解释执行的,所以使用了GC,也就是说对于某些任务,性能可能会是个问题;在Ruby 中,所有东西都是对象,所以它是面向对象编程语言,而且是纯面向对象的;Ruby 很灵活,我们可以重新定义它的一些东西。 了解这门语言最重要的特性,包括它的优点和不足。 第二步:通过教程或书籍学习语法和最佳实践 在第二步,你需要掌握语法、基本的IO、调试工具和单元测试。 如果你刚开始学习编程,最好找那种“权威指南”之类的书籍,比如语言作者写的书,或者在网上书店搜索这门编程语言,找到好评如潮的书。 如果你是个编程老手,只需要找一些简单的指南或示例代码就可以了,可以看看这个。 记住,在学习语法时,你需要动手写代码,不要只是拷贝黏贴。你可以在这个网站上练习写代码,有人会审阅你的代码,并免费为你提供建议。 第三步:使用新学的语言写更多的代码 现在,你需要使用新学的语言开始一个项目,包括与这门语言有关的生态系统、工具和库。你可以从简单的开始,比如一个猜数字小游戏、简单的网上书店或者TODO 应用程序。在

GitHub 上可以找到很多类似的项目。 第四步:了解语言的实现细节 这一步并非都是必需的。不过,有追求的程序员对编程语言的实现细节会感兴趣。有时候,因为对编程语言的实现细节不是很了解,容易写出bug。

ruby安装配置教程详解

Ruby On Rails安装配置详解(WINDOWS) Windows系统下开发环境的搭建 本文中将介绍如何在Windows操作系统下搭建RoR开发环境。 1.远程安装 a、步骤1:下载并安装Ruby一键安装包 下载最新的Ruby 1.8.4-16一键安装包,其下载地址为https://www.sodocs.net/doc/3815107556.html,/ projects/rubyinstaller/。 下载后运行该安装文件,显示界面如图2-1所示。 图1 安装程序运行界面 一直单击Next按钮默认安装即可。安装完成后打开命令行窗口,输入并运行命令ruby –v,安装成功会显示Ruby的版本号,如图2-2所示。 图2 Ruby的版本信息 接下来需要配置ClassPath,在环境变量中新增环境变量名"RUBY_HOME",变量值"D:\ruby",该值以本机Ruby安装目录为准。然后在path 加入"%BURY_HOME%\bin"。 测试Ruby是否安装成功 在命令行下运行ruby -v ,显示如下: ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32] 如果不放心,再运行ruby -e 'puts "hello world"' ,显示如下: hello world 至此,Ruby的安装告一段落,接下安装Rails。

安装Rails之前需要按顺序安装以下模块: gem install activesupport gem install activerecord gem install actionpack gem install actionmailer gem install actionwebservice(简称aws) 最后才是rails b、步骤2:使用RubyGems安装Rails RubyGems是标准的Ruby包管理器,它的功能类似于Linux下的apt-get。使用RubyGems可以方便地从远程服务器下载并安装Rails。 打开命令行窗口,输入并执行命令gem install rails --remote或gem install rails-- include-dependencies,程序运行结果分别如图3和图4所示。 图3 命令执行过程中 图4 命令执行过程中 打开命令行窗口输入并运行rails –v,执行结果如图2-5所示。 图5 Rails的版本信息 显示的Rails版本为1.0.0,Rails安装成功,即RoR开发环境搭建成功。 注意使用gem install rails - -remote安装Rails,是直接从远程服务器下载Rails安装包文件;而使用gem install rails - -include-dependencies命令安装Rails,会首先在本地主机上寻找是否存在Rails 的安装包,如果没有则从远程服务器下载安装。 2.本地安装 a、步骤1:下载并安装Ruby一键安装包 具体步骤请参见“远程安装”部分。 b、步骤2:获取Rails安装插件包

Pycharm简单使用教程

Pycharm简单使用教程 Pycharm简单使用教程 1.Jetbrains 家族和Pycharm 版本划分:pycharm 是Jetbrains 家族中的一个明星产品,Jetbrains开发了许多好用的编辑器 包括: Java 编辑器(IntelliJ IDEA) JavaScript 编辑器(WebStorm) PHP 编辑器(PHPStorm) Ruby 编辑器(RubyMine) C 和 C++ 编辑器(CLion) .Net 编辑器(Rider) iOS/macOS 编辑器(AppCode)等等。 pycharm 现在在官网是分为两个版本,第一个版本是「Professional(专业版本)」,这个版本功能更加强大,主要是为Python 和 web 开发者而准备,是需要付费的。第二个版本是「社区版」,一个专业版的阉割版,比较轻量级,主要是为 Python 和数据专家而准备的。一般我们做开发,下载专业版本比较合适。 2、汉化:把resources_zh.jar拷贝到PyCharm的安装目录下的lib目录,重启Pycharm即可。(resources_zh.jar汉化包关注本账号获取)

3、整体结构: 4、常用功能介绍:(1)如何更换Python解释器:在文件->设置->项目:xxx下找到Project Interpreter。然后修改为你需要的Python解释器。注意这个地方一定要注意的是:在选择Python解释器的时候,一定要选择到python.exe这个文件,而不是python的安装文件夹。 (2)如何创建一个Python包:如何创建一个Python包一定要选择Python Package,不然就不会创建一个__init__.py 文件。 (3)如何创建不同类型的文件:(4)如何新建一个项目:(5)如何调整编辑器字体及其大小:(6)如何调整控制台的字体及其大小:(7)如何设置文件编码:(8)如何修改文件背景颜色:(9)如何让一个tab键代替4个空格键:(10)如何自定义Python模版文件:(11)显示行号:在显示行号的地方右键,勾选上显示行号。(12)如何安装插件:设置->Plugins->Browse repositories,然后输入你要安装的插件。 (13)复制文件路径:右键->copy path。(14)在文件管理器中打开:右键->Show In Explorer。(15)进入到某文件中:把光标放在单词中间,然后按ctrl+b或者按ctrl键+鼠标左键。(16)查看项目结构:(17) DEBUG:(19)常用快捷键:* ctrl+d:复制当前行到下一行。 * ctrl+y:删除当前这一行。 * shift+enter:跳到下一行。

Sutool使用教程

速图Sutool使用教程 速图Sutool是有国内达人WIKII(郑州大学建筑系老师)开发的鼎力插件,同样是目前草图大师(Google Sketchup)软件中最好的插件管理器。插件管理器历经五年的开发,由原来简单的功能,逐步升级到Sutool2012_zip智能版本,其中凝结了WIKII的无限创意,每一次更新都令人惊喜。虽然速图越来越成熟了,几乎已经完美达到我们想要管理插件的所有要求了,但是这个曾经有过商业版经历的插件,他的主人在这个完美的时刻选择了免费共享给各位设计师。作为五年来的忠实测试员,我见证了整个历程,所以我们要感谢他的付出和努力。 一、速图Sutool功能: 1、用于管理sketchup中插件,加速SU快速启动,避免 插件之间的冲突。 2、智能化分析和安装插件,无须学习Ruby语言。 3、实现插件的分类分层级管理,更加条例逻辑,适合不 同专业DIY定制。 4、实现插件的深度汉化(包括菜单、右键菜单、对话框、 状态栏提示等) 5、实现实时工具栏生成与取消,可定制常用工具栏。 6、实现插件可以使用快捷键调用

7、插件使用方法帮助的提示 二、速图Sutool2012_zip版本新特性: 1、SUTool2012采用更高效快速的插件读取方式,安装过程不超过30秒,读取所有插件的过程瞬间完成,采用本插件管理器将会更高效地使您的SketchUp桌面最大化并且开启速度最优化。请您记住无论您安装多少的插件,都不会影响您开启SketchUp的速度和占用您宝贵的工作界面。另外由于是外置插件管理器,所以不会产生任何由于您DIY自己定义插件目录而使的SketchUp程序产生崩溃的情形出现。 2、最核心的内容是采用ZIP格式储存和读取插件并且可以自动安装插件(无需解压缩),其中的ZIP压缩格式SUTool2012可以自动解压缩并且全自动安装插件。 3、SUTool2012新版本所有ZIP格式插件都会自动出现在编辑面板,这个仅仅需要将ZIP插件放到SUTool2012的ZIP 文件夹即可。点击列表中的插件即可完成插件分析,您可以添加插件作者的信息、插件版本信息、加入分类面板等。 4、SUTool2012新版本进行最重要的插件核心更新,插件随时汉化支持rbs,以后您无需手动修改rb文件来实现汉化了,SUTool2012将会通过汉化面板帮您自动汉化rb内需要汉化的内容。 5、SUTool2012新版本其他常见功能中的历史命令的调用、

Ruby on Rails 之 Oracle 应用:简易教程

Ruby on Rails 之Oracle 应用:简易教程 您可能听说过 Ruby on Rails,一个似乎正以狂风暴雨之势席卷 Web 开发社区(尤其是 JEE 和 PHP 的编程人员)的新应用框架。 Rails 是功能强大的 Web 应用平台,而且深受 JEE 和 PHP 的编程人员的喜爱。当您了解了 Rails 的优势后,您就会理解它为何对 J2EE 和 PHP 编程人员有如此的吸引力。首先,它使用任何自视甚高的设计模式专家都很钦佩的严格的模型-视图- 控制器体系结构;这可以解释它为什么吸引了大量 JEE 开发人员。其次,使用 Rails 可以轻松地构建基本系统—这对 PHP 开发人员具有吸引力。 然而,从数据库的角度来说,Rails 还是有一些非常大的局限性。Rails 对您的数据库布局和应用程序需求做出了许多假定。例如,Rails 假定所有表都使用单一的非组合式主键。需通过Rails 插件支持组合式主键。此外,Rails 支持多数据库而且可以对其间事务进行协调;Rails 不支持两阶段提交。

本文章的目的不在于对 Rails 进行赞扬或批评,而只是对该技术的介绍。其中包含表扬也包含有批评。有时批评可能看起来过重了(尤其对于那些 Rails 的热爱者来说),但是请不要将 Rails 看得神乎其神。使用任何 Web 应用框架都是需要技巧的,无论是 JEE、https://www.sodocs.net/doc/3815107556.html, 还是 PHP。从长远来看,使用 Rails 可能比使用许多其他 Web 应用程序开发平台更高效,但是也需要假以时日来学习其中的技巧。 Ruby 是什么?Rails 是什么? Ruby 是一种动态编程语言,在很多方面和 Perl、Python 以及 Smalltalk 相似,但也有自己的特点。Java 和 PHP 编程人员似乎可以非常轻松地学会该语言,而且他们是 Ruby 的最忠实的拥护者。但是其他人也为该语言所吸引;这其中还包括著名的Microsoft 王国中最资深的专家之一 Don Box。 Ruby 并不是新生事物;它创建于 1993 年,时间比 1995 年发布的 Java 或 PHP 都要久。当时 Ruby 语言虽已成熟,但不如某些其他语言受欢迎。因此,Ruby 编程语言的周边体系并不像 Java、PHP 或 Perl 那样丰富。因此,您能找到的有关该语

Sliverlight教程

Silverlight教程第一部分:使用Silverlight2和VS2008创建“Hello World”程序 这是8个系列教程的第一部分,这系列示范如何使用Silverlight2的Beta1版本建造一个简单的Digg客户端应用。这些教程旨在按顺序阅读,帮着解释Silverlight的一些核心编程概念。 使用VS2008创建一个新的Silverlight应用 我们来开始我们的Digg应用的开发,先选择Visual Studio2008中的文件->新项目菜单项,使用新项目对话框创建一个“Silverlight Application”(注:你需要在Beta1发布后,下载和安装VS2008的Silverlight工具才能得到这个支持): 我们将该项目命名为“DiggSample”。在点击OK按钮后,Visual Studio会显示另外一个对话框,允许我们选择我们是否只要创建一个Silverlight应用项目,或者还要加一个服务器端的https://www.sodocs.net/doc/3815107556.html, Web项目到包含Silverlight应用的解决方案里去:

在这个例程里,我们将选择还要添加一个https://www.sodocs.net/doc/3815107556.html, Web Application项目到解决方案里去,并将它命名为“DiggSample_WebServer”。在点击OK之后,Visual Studio会为我们创建一个解决方案,里面包含一个Silverlight客户端应用和一个https://www.sodocs.net/doc/3815107556.html, web服务器端应用: 如果我们做一次编译的话,Visual Studio会自动把编译好的Silverlight应用拷贝到我们的web服务器项目中去,不需要手工的步骤或配置。VS为我们创建的默认的web服务器项目包含一个https://www.sodocs.net/doc/3815107556.html,网页和一个静态的HTML网页,我们可以用来运行和测试其中的Silverlight应用。

thrift入门学习教程

Thrift是什么? Thrift源于大名鼎鼎的facebook之手,在2007年facebook提交Apache基金会将Thrift作为一个开源项目,对于当时的facebook来说创造thrift是为了解决facebook系统中各系统间大数据量的传输通信以及系统之间语言环境不同需要跨平台的特性。所以thrift可以支持多种程序语言,例如:C++,C#,Cocoa,Erlang,Haskell, Java,Ocami,Perl,PHP,Python,Ruby,Smalltalk.在多种不同的语言之间通信thrift 可以作为二进制的高性能的通讯中间件,支持数据(对象)序列化和多种类型的RPC服务。Thrift适用于程序对程序静态的数据交换,需要先确定好他的数据结构,他是完全静态化的,当数据结构发生变化时,必须重新编辑IDL文件,代码生成,再编译载入的流程,跟其他IDL工具相比较可以视为是Thrift的弱项,Thrift适用于搭建大型数据交换及存储的通用工具,对于大型系统中的内部数据传输相对于JSON和xml无 论在性能、传输大小上有明显的优势。 Thrift是IDL(interface definition language)描述性语言的一个具体实现,关于IDL 的话题我们可以追溯到CORBA盛行1999-2001年(Common Object Request Broker Architecture/公用对象请求代理体系结构),在IDL中我们似乎不会忘记到这几个关键字:module、interface、string、long和int,我还记得IDL利用module 来创建名称空间,并且准确地映射为Java的package,这些特性几乎和现在thrift 的特性完全相同,所以thrift的设计思想和理念绝不是什么从火星来的new idea,看看在那个CORBA盛行的年代人们提出的概念,如图所示CORBA请求的各个部分,回头我们再与thrift进行对比一下:

sketchUP Ruby模块

sketchUP Ruby模块 几乎所有的SketchUp开始都会访问三种基本的数据结构:SketchUp,Model和Entities。一旦当你明白他们运行原理,你就可以开始使用代码来进行SketchUp设计了。 SketchUp模块 不像上一章描述的对象和类,我们遇到的第一种数据结构是SketchUp,它是一个模块,后面我们将讨论模块的详细细节,现在我们仅仅只要明白模块就是包括一系列的方法就可以了。在我们的教程中Ruby脚步都会调用这个模块的方法。 SketchUp模块的方法访问属性涉及到SketchUp整个应用。查看它如何运行,我们打开Ruby控制台执行下面的代码命令: Sketchup.version 将会显示SketchUp的当前版本,我们也可以输入Sketchup.os_language查看当前的语言或者使用Sketchup.get_locale查看应用的安装路径。如果想查看所有的方法可以使用:Sketchup.methods 其中最重要的一个方法是active_model,该方法返回当前我们所有的设计模型对象,下面是代码的使用实例: mod = Sketchup.active_model 代码说明:首先会检索当前的模型对象,然后设置mod等于模型对象。 模型对象 前面说了Sketchup模块达标了整个SketchUp整个应用,Model对象就代表了一个独立的SketchUp文件(*.skp),更准确的说是所有文件中的设计信息。当我们在SketchUp中

打开一个文件时,所有的Sketchup模块的属性都是相同的,但是在活动的Model对象中都是一样的。 Model类中的方法提供关于当前设计的所有信息。例如modified? 方法是用来检测最后一次保存的文件是否有修改过。下面是使用实例: mod = Sketchup.active_model mod.modified? 还有title方法返回当前设计的标题,description方法返回当前的文本描述,path方法返回当前设计文件的路径。还有一系列关于Model类的方法。 在我们的教程,Model类方法我们大都使用来访问当前设计的对象容器。我们可以把Model 当作橱柜中的柜子: 一个对象包括了许多的子对象,子对象又包括许多的对象。下面的图标显示了Model对象以及它包括的对象: 对象Model有六个容器,我们可以配置几乎所有SketchUp设计样式。我们需要使用相应的方法来使用它们。下面是它的六个容器的介绍: 1. entities- 返回当前一个Entities(实体)对象,包括了当前设计中的所有图形 2. layers- 返回当前一个Layers(层)对象,包括了当前设计中的所有图形

JQuery入门、手册及教程

浅谈JQUREY(摘自https://www.sodocs.net/doc/3815107556.html,/softwave/article/details/2070815) JQUERY手册(第七页,附教程) Jquery是继prototype之后又一个优秀的Javascript框架。对prototype我使用不多,简单了解过。但使用上jquery 之后,马上被她的优雅吸引住了。有人使用这样的一比喻来比较prototype和jquery:prototype就像Java,而jquery 就像ruby.实际上我比较喜欢java(少接触Ruby罢了)但是jquery的简单的实用的确有相当大的吸引力啊!在项目里我把jquery作为自已唯一的框架类包。使用其间也有一点点心得,其实这些心得,在jquery的文档上面也可能有讲,不过还是记下来,以备忘罢。 一,找到你了! 还记得$()这个东西吧?prototype还是DWR都使用了这个函数代替document.getElementById()。没错,jquery也跟风了。为达到document.getElementById()的目的,jquery是这样写的: Java代码 1.var someElement = $("#myId"); [java]view plaincopyprint? 1.var someElement = $("#myId"); 看起来比其他两个框架的要多了一个#,好,看看下面的用法: Java代码 1.$("div p");(1) 2.$("div.container")(2) 3.$("div #msg");(3)

[java]view plaincopyprint? 1.$("div p");(1) $("div.container")(2) $("div #msg");(3) $("table a",context);(4) 在prototype里看过这样的写法吗?第一行代码得到所有

标签下的元素。第二行代码得到class 为container的
元素,第三行代码得到
标签下面id为msg的元素。第四行代码得到context为上下文的table里面所有的连接元素。 如果你熟悉CSS,Xpath,你会觉得这些写法很眼熟!对了。正是。看出奥妙了吧。jquery就是通过这样的方式来找到Dom对象里面的元素。跟CSS的选择器相类似。 二,Jquery对象? jquery提供了很多便利的函数,如each(fn),但是使用这些函数的前提是:你使用的对象是Jquer对象。使一个Dom对象成为一个Jquery对象很简单,通过下面一些方式(只是一部分): Java代码 1.var a = $("#cid");(1) 2.var b = $("hello ");(2) 3.var c = document.createElement("table"); var tb = $(c); [java]view plaincopyprint? 1.var a = $("#cid");(1) var b = $("hello ");(2) var c = document.createElement("table"); var tb = $( c); 三,代替body标签的onload 这个惯例,也许是除了$()之外,用得最多的地方了。下面一段代码: Java代码

相关主题