..


赞助商链接

在Ruby语法的替代品

书面文章克劳迪奥Garau

对这样的简单而强大的Ruby语言的一大优点是能够以不同的方式实现,即使用不同的语法结构相同的打印输出或产生同等的行为,同样的结果。

在这短短的文章中,我们提出一个简单的例子上的周期,而不是仅仅根据期望的结果是创建一个简单的程序,可以打印之间的“1”和“10” 范围内的所有号码。

诸如以下解决方案:

 



放1,2,3,4,5,6,7,8,9,10

 
乍一看似乎很方便,但如果我们的范围,是更大(比如在“1”和“100”),再想一想,我们所要寻找的是一个脚本,只需要2个参数:初始值决赛(最小和最大)的支架上的范围。
这样,在代码中使用可再次使用产生输出很“笨重”。

每个 pemette 我们构造一个初始值增加,直到它到达一个终止值作为参数来构造通过后,我们看一个例子:

 



 (1 .. 10)每做|我|



  



放







年底

 
因此,对于每一个范围内的相应数字(每个)值将被打印,直到达到一个值等于在所规定的第二个参数(在本例“10”)的条件确定。
这两个竖线括住变量递增(“|我|”)是用来分隔内部循环的变量隔离从其余的代码本身,因为它代表了“本身”的价值。

同样的结果可以达到不同的语法使用leggermanete和“保存”的代码输入金额:

 



 (1 .. 10)每个{| I |}放我

 
返回值将返回一个语句的执行(“{|我|放我}”)就关于该商标的两个参数执行范围的基础上每次重复vaolore。

另一种可能的基础上, 循环使用,具体如下:

 



因为我在(1 .. 10)



  



放







年底

 
我们再一次通过了2个周期的参数定义值的范围变量“我”可以有10次迭代过程中必要的,其中的值“10”代表的条件是结束循环增加。

但是,我们的选择是没有完成,让我们来看看这个简单的代码行:

 



 1.upto(10){| I |}放我

 
到...为止为对象,将代表数字类型的方法,这种方法的语法替代那种“为”写“x.upto(Y)”实际上相当于类型为(i = X,X <“是= Y,I + +){...}“。
在实践中与“为止”,我们可以得到一个,而不必诉诸一个循环周期相同的结果其结果是在输入代码,由系统提供的指令执行方面节约资源。

现在让我们看看最后一个例子:

 



 *输出(1 .. 10)

 
建议的代码的最后一行是毫无疑问的看到到目前为止所有这些最简单的,符号的“*”简单的使用允许您打印而不诉诸语句在作为参数传递的范围内的所有的值任何周期或有指定的任何方法调用。

在同一类...
电子学习
Ruby和Ruby on Rails的(课程) Ruby和Ruby on Rails的(课程)
创建Ruby和RoR的软件和Web应用程序。 从39€。
赞助商链接