写一个求阶乘的函数,然后调用这个函数算出某一个数(例如10)的阶乘并打印出来。
         在Ruby中可以这样写:

[原创]Ruby学习笔记(2)-简单例子def fact(n)  
[原创]Ruby学习笔记(2)-简单例子   
if n == 0    
[原创]Ruby学习笔记(2)-简单例子     
1  
[原创]Ruby学习笔记(2)-简单例子   
else    
[原创]Ruby学习笔记(2)-简单例子     n 
* fact(n-1)  
[原创]Ruby学习笔记(2)-简单例子   end
[原创]Ruby学习笔记(2)-简单例子end
[原创]Ruby学习笔记(2)-简单例子
[原创]Ruby学习笔记(2)-简单例子
print fact(10)

            我们发现,在Ruby中函数定义在def...end块中,if、while、for等语句都以end作为语句块的结尾。函数返回函数块中最后一个说明的值或变量、表达式,无需类似其他语言的return语句。
            上述代码的Python语言实现如下,大家可以比较一下:

[原创]Ruby学习笔记(2)-简单例子def fact(n):  
[原创]Ruby学习笔记(2)-简单例子   
if n == 0:    
[原创]Ruby学习笔记(2)-简单例子     
return 1  
[原创]Ruby学习笔记(2)-简单例子   
else:    
[原创]Ruby学习笔记(2)-简单例子     
return n * fact(n-1)  
[原创]Ruby学习笔记(2)-简单例子
[原创]Ruby学习笔记(2)-简单例子
print fact(10)

            在Python中,语句块以第一行后的冒号(:)开始,无需end标识结束,以行缩进来标明语句块。
            Ruby和Python的共同点在于其动态的特征,特别是内置类型的表现形式。这两种语言都无需对内置类型进行声明,直接可以使用。这是和像Java、C++等静态语言区别较大的地方。
            计算1到10的和,用Ruby和Python分别实现如下,大家可以和静态语言的实现比较一下:
            Ruby:

[原创]Ruby学习笔记(2)-简单例子sum=0
[原创]Ruby学习笔记(2)-简单例子
for i in [1,2,3,4,5,6,7,8,9,10]
[原创]Ruby学习笔记(2)-简单例子    sum
=sum+i
[原创]Ruby学习笔记(2)-简单例子end
[原创]Ruby学习笔记(2)-简单例子
print sum

            Python:
[原创]Ruby学习笔记(2)-简单例子sum=0
[原创]Ruby学习笔记(2)-简单例子
for  i  in [1,2,3,4,5,6,7,8,9,10]:  
[原创]Ruby学习笔记(2)-简单例子    sum
=sum+i
[原创]Ruby学习笔记(2)-简单例子
print sum

相关文章: