ruby编程语言-学习笔记1
安装完 ruby ri irb ruby-devel
1. 先来个简单的,写个helloworld 给新手们 (terminal中,# 代表root权限,$ 代表用户权限, 前面的就不写了。)
# vim hello.rb
puts "hello world"
检查下语法# ruby -c hello.rb
编译 # ruby hello.rb
结果:hello world
2.好了开始说点有营养的了
创建2个文件,如下
main.rb
#文件名main.rb load "Ambiguous.rb" newInstance = Ambiguous.new newInstance.x #调用了x方法,返回值为1 ,但是没有输出
puts"---------1" puts "newInstance return =" + newInstance.x.to_s #输出 newInstance return =1
puts"---------2" newInstance.test #test 方法里有puts输出
puts"---------3" puts "newInstance return =" + newInstance.test.to_s #没有值,因为test()方法没有返回值,但是又调用了一边test()方法
puts"---------4"
Ambiguous.rb
#文件名Ambiguous.rb class Ambiguous
def x; 1; end # a method named 'x', always return 1 def test
puts x # no variable been seen, refers method above, prints 1 x = 0 if false #create variable 'x' overhere, then confirm x equal 0?
puts x //输出的是变量x的值 ,而不是method x 的返回值 x = 2 //assign a value to x
puts x //输出变量x 的值 end
end
检查下语法# ruby -c ambiguous.rb main.rb
编译 # ruby main.rb
结果:(我就偷个懒)结果大家就自己输出看吧,毕竟自己实践了才能弄明白是不?
在上面需要注意的是:
1.变量名和方法名 声明问题,不要混淆。
2.方法的返回值问题
3.to_s 指to string,还有to_i 、to_f 等等
是不是超级简单?选择一种语言就是选择一种生活方式,
自从我在以前的公司,开始做InstallShield的脚本方面的工作,发现脚本语言的修改,维护。。都太轻松了。
懂的话,一个人都可以把工程1天修改完毕。
不会像C++那样,工程一大,容易出现各种问题,改个需求,需要牵扯很多地方,外包又是各种加班赶进度,改完客户又改需求,又要加班赶进度。这里面太花时间了。
做人,一定不能让变化赶着你走,一定要让自己赶在变化之前就做好准备。
ruby编程语言-学习笔记1的更多相关文章
- ruby编程语言-学习笔记5(第5章 语句和控制结构)
以下是2种表达方式一样. if expression code end if expression then #推荐这种形式 code end expression的值不是false或nil,则cod ...
- ruby编程语言-学习笔记4(第4章 表达式和操作符)
4.6.9 范围 Flip-Flops: ..和... ..和... 操作符不是基于方法的,无法重定义.(优先级比较低) x+1 .. x*x #可以认为是x+1 至 x*x 的范围 因为操作 ...
- ruby编程语言-学习笔记2(第4章 表达式和操作符)
对属性和数组元素的赋值 o.m + = 1 ===>o.m = (o.m()+ 1) # 对 o.m()这个方法的结果+1 对数组元素的赋值也是通过 方法调用来完成. 0.[] = 1 == ...
- ruby编程语言-学习笔记3(第4章 表达式和操作符)
4.6 操作符 了解优先级很重要 位移操作符 (0b1011)<< 1 # ==> "10110" 11 << 1 = 22 ...
- ruby语言学习笔记2
ruby学习笔记2 (摘自<ruby程序设计语言教程(中文版)>.pdf,全书25页) 1.同一个问题ruby有多个解决方案,途径 ruby之父:松本行弘(Matz),1993年创立 r ...
- ruby 字符串学习笔记1
1 从一种数据结构中构件字符串 hash = { key1: "val1", key2: "val2" } string = "" hash ...
- 《ruby编程语言》笔记2 对象
ruby是一门非常纯粹的面向对象的语言:所有值都是对象,而且没有基本类型(primitive type)和对象类型的区别,这一点不同于其他语言.在Ruby中,所有对象都继承一个Object类,而且共享 ...
- 《ruby编程语言》笔记 1
赋值: ruby支持并行赋值,即允许在赋值表达式中出现多余一个值和多于一个的变量: x,y=1,2a,b=b,ax,y,z=[1,2,3] (python同样可以正常上面的语句). Methods i ...
- Ruby语言学习笔记
在codecademy上开始玩ruby了 1.数据类型:boolean,string,number 变量直接用即可,不用声明(“拿来主义”) 运算符:+ - * / ** % == != && ...
随机推荐
- iOS 构造方法
构造方法:用于在对象创建出来的时候为对象的成员变量或者属性赋值 1.构造方法就是初始化对象的方法,它属于对象方法.构造方法分为系统自带和自定义构造方法. 如何创建自定义构造方法: 属于对象方法那么以 ...
- VS2010类似Eclipse文件查找功能-定位到
快捷键:Ctrl + , 打开定位到窗口,可以在文件或类文件中查找内容.
- 支付宝api教程,支付宝根据交易号自动充值
最近公司要用php做一个网站支付宝自动充值的功能,具体就是客户把钱直接转到公司的支付宝账号里,然后在我们网站上填写上交易号,我们网站程序自动获取交易信息,自动给网站的账户充值. 我的具体想法就是利用支 ...
- Java知识总结--数据库
1 薪水排序后薪水排名在第3-5的员工 1)select * from(select ename,sal,rownum rn from (select ename,sal from emp_44 wh ...
- 怎么用程序获取远程url执行后的图片地址
远程URL:https://121.199.16.229:8890/generate.cgi?rbid=1001&esn=22021434025005&pic=png&coun ...
- C# 实现对窗体(Form)换肤
http://www.csharpwin.com/csharpresource/2992.shtml 一直想写一个比较完整的.容易扩展的窗体换肤的方案,由于时间问题,都没去实现这个想法.现在有朋友提出 ...
- c#基础知识对比(面向对象)
private,protected,public和internal private:是完全私有的,只有本类自己能用[好比自己的老婆,只有你自己可以调用,其他谁都不可以] protected:可被外界看 ...
- javascript函数基础
Function类型 由于函数是对象,因此函数名实际上是一个指向函数对象的指针,不会与函数绑定 所以没有重载这个概念!!!!!!!!!!!!!!!!!!!!!!!!!! function sum1() ...
- css important
!important是CSS1就定义的语法,作用是提高指定样式规则的应用优先权.语法格式{ cssRule !important },即 写在定义的最后面,例如:box{color:red !impo ...
- Oracle数据库插入图片和读取图片
package com.basicSql.scroll_page; import java.io.File; import java.io.FileInputStream; import java.i ...