Ruby自学笔记(二)— Ruby的一些基础知识
Ruby安装好之后,我们就可以来实践Ruby语言了。
以下是一些学习到的简单基础知识:
1. 如何执行Ruby文件?
我们编写的Ruby文件是以rb为后缀名的,例如:XXX.rb。当要执行ruby文件时,可以打开命令行窗口,进入到Ruby文件所在的目录下,通过命令ruby XXX.rb来执行,可以看如下示图:

2. print方法:用于打印字符串功能,print ("Hello", " Ruby !", "\n") print "Hello Ruby !\n"
3. 换行符:\n,\n\t, 转义符:\
4. puts方法: 和print方法类似,也是用来打印字符,但其中每个分段的字符串都会自动换行。例如, puts ("Hello", "Ruby", "!") 显示结果如下:

5. p方法:用来显示数据的方法,其不会对数据做任何修改,只是显示数据。例如:p "Hello, \n\t Ruby" 则引号会保留:

6. 可以直接用四则运算,数学函数计算
7. 注释:使用#开头的语句都会被当做注释,也可以将注释写在语句中间,则后面以#开头的语句都会当做注释了。
如果是一大段东西都是注释,则可以将需要注释的语句都放在=begin和=end之间,如下所示:
PS: 在JAVA中,注释可以用//, 或者/* ........*/
=begin
This is comment for Ruby program
print "Hello Ruby !"
=end
8. Ruby中的变量:变量和JAVA中变量类似,只是没有数据类型,但是有特殊的变量名,然后赋值。
变量有以下类型:局部变量 (变量名以小写字母或_起始的变量)
全局变量 (变量名以$起始的变量)
实例变量 (变量名以@起始的变量)
类变量 (变量名以@@起始的变量)
虚拟变量 ('true', 'false', 'self'等特定名称的变量)
9. 读取文件内容:open(filename)方法,打开文件,并且会返回一个文件对像
filename = ARGV[0]
file = open(filename) #使用open方法获取文件对象
text = file.read #使用read方法来将文件对象的内容读取出来
print text
file.close #关闭文件对象
10. 读入其他文件:即想要在当前程序中调用另外一个程序的方法,则需要读入其他文件 -》 require "想要读入的库名",其中名字可以省略.rb这个后缀名。也可以读取其他的标准库。
require "hello" #读入Hello.rb文件
hello() #调用hello.rb中的hello()方法
11. 条件判断:if~then~else~end,而JAVA中则没有then和end(后面会详述)
12. 字符串反复执行:while (condition) do~end, 对象.times方法 (后面会详述)
13. 每个对象都有ID和值。1)每个对象都有object_id这个方法来获得ID; 2)每个对象都可以通过equal?方法来判定是否为同一个对象,即ID是否相同。3)若判断对象持有的值是否相等,则使用==,也可以使用eql?方法,但使用==时候,需要进行必要的转换,而eql?则可以不变换就能直接进行比较。
PS: 大家可以思考下,在JAVA中,==与equal()方法的区别
ary1 = [] #定义一个数组
p ary1.object_id # => 67653636 str1 = "foo"
str2 = str1
str3 = "f" + "o" + ''o"
p str1.equal?(str2) # =>true
p str1.equal?(str3) # =>false p str1 == str3 # =>true p 1.0 == 1 # =>true
p 1.0.eql?1 # =>false
Ruby自学笔记(二)— Ruby的一些基础知识的更多相关文章
- 《Programming Hive》读书笔记(两)Hive基础知识
<Programming Hive>读书笔记(两)Hive基础知识 :第一遍读是浏览.建立知识索引,由于有些知识不一定能用到,知道就好.感兴趣的部分能够多研究. 以后用的时候再具体看.并结 ...
- tensorflow笔记(一)之基础知识
tensorflow笔记(一)之基础知识 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7399701.html 前言 这篇no ...
- php面试笔记(5)-php基础知识-自定义函数及内部函数考点
本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 在面试中,考官往往喜欢基础扎实的面试者,而函数相关的考点 ...
- php面试笔记(3)-php基础知识-运算符
本文是根据慕课网Jason老师的课程进行的PHP面试知识点总结和升华,如有侵权请联系我进行删除,email:guoyugygy@163.com 在面试中,考官往往喜欢基础扎实的面试者,而运算符相关的考 ...
- 【二】、UML基础知识——图图解乾坤
[二].UML基础知识 UML概述 UML是一个通用的可视化建模语言,不同于编程语言,它通过一些标准的图形符号和文字来对系统进行建模.用于对软件进行描述.可视化处理.构建软件系统的文档.是一套总结了以 ...
- Ruby自学笔记(一)— 基本概况
之前一直想要多看看RESTful Service相关的东西,找到一本相关的书,但是里面的代码都是用Ruby写的,虽然知道编程语言都是类似的,但是看到一些陌生的语法,还是有些摸不着头脑,所以最近终于下定 ...
- TCP/IP协议(二)tcp/ip基础知识
今天凌晨时候看书,突然想到一个问题:怎样做到持续学习?然后得出这样一个结论:放弃不必要的社交,控制欲望,克服懒惰... 然后又有了新的问题:学习效率时高时低,状态不好怎么解决?这也是我最近在思考的问题 ...
- 二、tcp/ip基础知识
一.TCP/IP的标准化 1.TCP/IP的含义 一般来说,TCP/IP是利用IP进行通信时所必须用到的协议群的统称. 具体点,IP或ICMP.TCP或UDP.TELENT或FTP.以及HTTP等都属 ...
- Linux运维笔记(一)网络基础知识
网络基础知识 一.基本概念 1.ARPANET & TCP/IP:以“软件”技术将网络硬件整合,使得不同的计算机或者数据可以通过这个软件达成数据沟通(TCP/IP技术也被称为Internet) ...
随机推荐
- java传递json数据到前台jsp
在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如: JSON字符串: var str1 = '{ &q ...
- bzoj4443 SCOI2015 小凸玩矩阵 matrix
传送门:bzoj4443 题解 很水的一道网络流,显然可以二分答案,然后我们希望第\(k\)大尽量小,那么对于一个\(mid\),我们应尽量选择更小的,然后跑二分图最大匹配来验证. code
- 基于NPOI开源框架写的ExcelHelper【转载】
namespace ExcelTest { using System; using System.Collections.Generic; using System.Data; using Syste ...
- windows10UWP:如何在xaml中设置控件为 public ?
windows10UWP中,由于使用页面导航,操作在不同一个页面的控件需求经常遇到. 如果要对另一个page里面的控件进行操作,那么这个控件必须设置为 public .在 xaml 设置控件的方法是: ...
- Java_Activiti5_菜鸟也来学Activiti5工作流_之入门简单例子(一)
// VacationRequest.java /** * author : 冯孟活 ^_^ * dates : 2015年9月1日 下午10:32:58 * class : 演示简单的公司请假流程 ...
- asp.net 自动遍历实体类
最近做项目需要读取修改前数据库中被修改的数据所有的信息,一开始想要在model层的每个类都写一个函数return一串字符串, 但是由于表太多,实体类数量太大,写出来太浪费时间,所以决定写一个通用的方法 ...
- Express在windows IIS上部署详解
最近公司在用Express+angularjs+wcf开发系统,让我在windows上部署系统,遇到不少问题,不过最后还是解决了,在IIS上部署系统, 首先windows需安装以下软件: 1.node ...
- 段落排版--行间距, 行高(line-height)
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- wordpress 当前栏目名,当前栏目的分类名
wordpress在设计主题和做模板时经常会用到调用当前分类栏目名称,常见的有当前栏目页.文章页,详情代码如下: 1.分类名称与链接 <?php the_category(); ?> 2. ...
- 【BZOJ2281】【博弈论+DP】 [Sdoi2011]黑白棋
Description 黑白棋(game) [问题描述] 小A和小B又想到了一个新的游戏. 这个游戏是在一个1*n的棋盘上进行的,棋盘上有k个棋子,一半是黑色,一半是白色. 最左边是白色棋子,最右边是 ...