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)として呼び出します。それでは、それは抽象であると言うことができます。 –