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 变量直接用即可,不用声明(“拿来主义”) 运算符:+ - * / ** % == != && ...
随机推荐
- iscsiadm用法简介
已知192.168.14.112节点,存在目标器 iqn.2015.06.cn.hrbyg.www.ygcs.c0a802b8:wzg,未设置CHAP,存在目标器 iqn.2015.06.cn.hrb ...
- Sass:一种CSS预处理器语言
http://sass-lang.com/ Sass是一种CSS预处理器语言,通过编程方式生成CSS代码.因为可编程,所以操控灵活性自由度高,方便实现一些直接编写CSS代码较困难的代码. 同时,因为S ...
- Web前端新人笔记之CSS结构和层叠
上一篇文章介绍了如何利用CSS选择器为元素应用各种丰富的样式,每个合法的文档都会生成一个结构树,了解这一点,就能根据元素的祖先.属性.兄弟等元素穿件选择器选择元素. 本篇文章将讨论3中机制之间的关系: ...
- 怎么用程序获取远程url执行后的图片地址
远程URL:https://121.199.16.229:8890/generate.cgi?rbid=1001&esn=22021434025005&pic=png&coun ...
- winFrom窗体样式
ControlBox窗口样式:确定窗体是否有"控件/系统"菜单框. 设置为隐藏 False AutoSizeMode GrowAndShrink 指定用户界面元素自动调整自身大小 ...
- PHP学习笔记(1) - 开发环境搭建
运行环境:phpstudy 它基本包括运行php应用需要的一切,php. apache.mysql,一键傻瓜安装 装好之后只需要配置虚拟主机和修改host文件就可以支持多站点 下载: http://w ...
- PythonCrawl自学日志(2)
一.Scrapy环境的安装 1.配套组件的安装 由于开发环境是在VS2015Community中编码,默认下载的python3.5,系统是windows8.1,为此需要安装的组件有如下列表: 所有的组 ...
- Vijos p1002 过河 离散化距离+区间DP
链接:https://vijos.org/p/1002 题意:一条长度为L(L <= 1e9)的桥上有N(1<= N <= 100)颗石头.桥的起点为0终点为L.一只青蛙从0开始跳, ...
- jexus 启动失败 原因定位
现象: root@test:/usr/jexus/siteconf# /usr/jexus/jws restartRestarting ... Failure 定位步骤: 1.查看/usr/jexus ...
- 6 款国外开源web oa办公系统(转)
国外的开源产品较多,而且大多提供免费的社区版本,oa办公系统也不例外. 1.eGroupware eGroupware是一个多用户,在以PHP为基础的API上的定制集为基础开发的,以WEB为基础的工作 ...