不再年轻.NET

一个IT教师眼中的生活.NET、感悟.NET和技术.NET

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

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

def fact(n)  
   
if n == 0    
     
1  
   
else    
     n 
* fact(n-1)  
   end
end

print fact(10)

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

def fact(n):  
   
if n == 0:    
     
return 1  
   
else:    
     
return n * fact(n-1)  

print fact(10)

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

sum=0
for i in [1,2,3,4,5,6,7,8,9,10]
    sum
=sum+i
end
print sum

            Python:
sum=0
for  i  in [1,2,3,4,5,6,7,8,9,10]:  
    sum
=sum+i
print sum
posted on 2006-10-14 17:32  不再年轻.NET  阅读(695)  评论(3)    收藏  举报