写一个求阶乘的函数,然后调用这个函数算出某一个数(例如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 sumPython:
sum=0
for i in [1,2,3,4,5,6,7,8,9,10]:
sum=sum+i
print sum

浙公网安备 33010602011771号