【RUNOOB】Ruby简介,使用技巧,语法以及数据类型

参考资料

(1) https://www.runoob.com/

1.ruby简介

(1) ruby是开源的面向对象程序设计的服务器段脚本语言;

(2) ruby可运行于多种平台,如Windows, mac os和unix的各种版本;

(3) 简单示例

1 #!/usr/bin/ruby -w
2 puts "Hello, world!";

2.ruby简单使用技巧

(1) 在linux中安装ruby后,在命令行中输入irb,可以进入ruby的交互模式;

(2) 执行ruby -v,可以查看当前安装ruby的版本;

(3) 如果使用ruby输出中文字符,需要在文件开头加入# -*- coding: UTF-8 -*-或者#coding=utf-8;

1 #!/usr/bin/ruby -w
2 # -*- coding: UTF-8 -*-
3 puts "Hello, world!";

3. ruby语法

(1) 所有ruby文件扩展名都是.rb;

(2) ruby代码中的空白字符,如空格和制表符一般会被忽略;

(3) ruby把分号和换行符解释为语句的结尾; 但是,如果ruby在行尾遇到运算符,比如+、-或\, 它们表示一个语句的延续.

(4) ruby中建立多行字符串,在<<之后,指定一个字符串或标识符来终止字符串,当前行之后直到终止符为止的所有行都是字符串的值;

注1:如果终止符用引号括起,引号的类型决定了面向行的字符串类型;

1 #Example1
2 #!/usr/bin/ruby -w
3 
4 print <<EOF
5   hi there
6   lo there
7 EOF
1 #Example2
2 #!/usr/bin/ruby -w
3 
4 print <<`EOF`  #execute commands
5   echo "hi there"
6   echo "lo there"
7 EOF
1 #!/usr/bin/ruby -w
2 
3 print <<"foo",<<"bar"
4   I said foo.
5 foo
6   I said bar.
7 bar

(5) ruby BEGIN与END语句(BEGIN语句块会在程序运行前调用,END语句块会在程序运行后调用,类似于system verilog中的callback机制;);

 1 #!/usr/bin/ruby -w
 2 
 3 puts "main!";
 4 
 5 BEGIN {
 6   puts "pre-main!";
 7 }
 8 
 9 END {
10   puts "post-main!";
11 }

(6) ruby注释(单行注释-采用#号,多行注释采用=begin/=end)

1 #!/usr/bin/ruby -w
2 #single-line comment;
3 puts "main!";
4 =begin
5   multi-line comment;
6   multi-line comment;
7 =end

4. ruby数据类型

注1: ruby支持的数据类型包括基本的数值类型(Number)、字符串类型(String)、范围(Ranges,待补充)、Symbols(待补充)以及true、false和nil这几个特殊值, Array(数组)和Hash(哈希);

4.1 数值类型

4.1.1 整型

4.1.2 浮点型

4.2 字符串类型

(1) 双引号标记的字符串允许替换和使用反斜线符号; 单引号标记的字符串不允许替换,且只允许使用\\和\两个反斜线符号;

4.3 数组

4.4 哈希

4.5 范围

(1) 一个范围表示一个区间,范围通过设置一个开始值和一个结束值来表示;

(2) 范围可以使用..和...来构造,或者通过使用range.new来构造;使用..构造的范围从开始值运行到结束值(包括结束值),使用...构造的范围从开始值运行到结束值(不包含结束值);

 1 #!/usr/bin/ruby
 2 
 3 puts "range1:";
 4 (10..15).each do |n|
 5   print n,' '
 6 end
 7 puts
 8 
 9 puts "range2:";
10 (10...15).each do |n|
11   print n,' '
12 end
13 puts
14 
15 程序执行结果:
16 range1:
17 10 11 12 13 14 15 
18 range2:
19 10 11 12 13 14 

 

 

 

 

posted on 2021-10-29 20:23  知北游。。  阅读(308)  评论(0编辑  收藏  举报

导航