我是Ruby新手。我在ruby中学习抽象原理。据我了解,程序抽象隐藏了用户的实现细节,或者只是简单地集中于要点而忽略细节。红宝石程序和数据抽象
我关心的是如何实现它
1)它是一个简单的函数调用就这样
# function to sort array
# @params array[Array] to be sort
def my_sort(array)
return array if array.size <= 1
swapped = false
while !swapped
swapped = false
0.upto(array.size-2) do |i|
if array[i] > array[i+1]
array[i], array[i+1] = array[i+1], array[i]
swapped = true
end
end
end
array
end
,并呼吁像这样
sorted_array = my_sort([12,34,123,43,90,1])
2)如何做数据抽象不同于封装
正如我所理解的数据抽象只是hidi来自其他类的一些成员数据。
谢谢魔杖。所以我们在不知不觉中做抽象 –
我认为我们知道抽象,它是良好的设计必不可少的。 –
对不起,但我的关注是,假设我做了一个函数来计算factorial,并且用户将它作为fact(num)来调用它。那么我们可以说它是抽象的。 –