Ruby语法

Ruby语法

Ruby的语法与Python和Perl广泛相似。关键字和花括号用于定义代码块。我们有各种关键字来定义类和对象。语法与Python和Perl的不同之处在于,所有实例变量均保持私有状态,并且只能通过访问修饰符进行访问。

让我们看一下基本语法:

变数

变量用于保存一些数据并驻留在特定的内存位置。Ruby支持五种类型的变量:

i)全局变量

如果要将变量设置为全局变量,则需要在变量名称的开头添加$。默认情况下,如果未明确给变量赋值,则会将nil分配给该变量。

示例

    $global_variable = 90

ii)实例变量

如果要创建实例变量,请在其名称的开头添加@。在未初始化的情况下,这里也分配了nil。

示例

    @cust_id = 12
    @student_name = "Hrithik"

iii)类变量

类变量以@@开头,必须对其进行初始化。

示例

    @@people_present = 0

iv)局部变量

局部变量以_或小写字母开头。局部变量的范围从大括号{开始,到右括号}结束。

示例

    myname = "Hrithik"
    _siteaddress= "Nhooo.com"

v)常数

它们始终以大写字母开头。如果您引用的是未初始化的常量,则将面临错误。

    CONSTANT12 = 890
    CONSTANTSTR = "INCLUDEHELP"

弦乐

字符串是字符序列。可以在Ruby中通过使用单引号''或使用双引号“”来声明它们。

    "You are learning at Nhooo.com"
    'This is also a string'

数组

可以通过以下方式在Ruby中声明数组:

    [1,'Shyam',5.34,'Include help']

散列

Ruby中的哈希看起来像下面给出的示例,

    {name: "Harish"}
    {:name=> "Satish"}

Ruby代码的基本结构

Ruby代码的基本结构非常容易理解。方法gets用于在运行时从用户输入数据,而方法puts用于向用户显示信息。

观察下面给出的代码,您会发现chomp,它用于从输入的数据中消除换行符\ n。

您还将看到正在进行类型转换。默认情况下,值是字符串类型,并且通过.to_i方法将它们转换为整数类型。

puts "Enter first value"
num=gets.chomp

puts "Enter second value"
num1=gets.chomp

pro=num.to_i*num1.to_i

puts "The product of #{num} and #{num1} is #{pro}"

输出结果

Enter first value
12
Enter second value
34
The product of 12 and 34 is 408

Ruby中的流控件

以下是Ruby编程语言支持的流控制语句:

  1. 如果声明

  2. if / else语句

  3. elsif声明

  4. 除非声明

  5. 切换语句

让我们通过示例研究它们,

a)如果声明

if语句仅适用于单个表达式。它执行它并检查该语句是对还是错。

语法:

    if (condition)
         #如果条件为True,则执行语句
    end

示例

a = 70
b = 9

if a>b
	puts "a is greater"
end

输出结果

a is greater

(b)if-else陈述

它与if语句非常相似,只是附加了其他语句。它的工作方式是,如果if条件为True,则执行其中的代码块,否则执行其中的代码块。

语法:

    if(condition)
        #代码块
    else
        #代码块
    end

示例

a = 70
b = 900

if a>b
	puts "a is greater"
else
	puts "b is greater"
end

输出结果

b is greater

(c)elsif声明

如果您的代码中有两个以上的选项,则可以使用elsif语句。首先检查if条件,如果条件为false,则指针移至elsif条件,如果结果为true,则执行elsif代码块。

语法:

    if (condition)
	    #statements
    elsif(condition)
	    #statements
    else
	    #statements
    end

示例

a = 70
b = 900
c = 567

if (a>b and a>c)
	puts "a is greater"
elsif (b>a and b>c)
	puts "b is greater"
else
	puts "c is greater"
end

输出结果

b is greater

(d)除非声明

除非使用语句来验证语句为假,而不是真实的。

语法:

    unless (condition)
	    #代码块
    else
	    #代码块
    end

示例

Entry = false
unless Entry
	puts "you have to wait"
else
	puts "you are good to go!"
end

输出结果

you have to wait

(e)转换声明

在有多个选项的地方使用switch语句。它与elsif语句相似,但比elsif更可取。当使用关键字检查条件时,无论哪个条件为真,都将执行其下的语句。

语法:

    case (variable name)
    when (condition)
	    #statements
    when (condition)
	    #statements
    else
 	    #statements
    end

示例

puts "which fruit do you like?"
fruit = gets.chomp

case (fruit)
when 'apple'
	puts 'Red colour'
when 'banana'
	puts 'Yellow colour'
when 'papaya'
	puts 'Green colour'
when 'kiwi'
	puts 'Green colour'
else
	puts 'bad choice'
end

输出结果

Which fruit do you like?
banana
Yellow color