26

私は Ruby を学び始めたばかりの Java 開発者です。Ruby にはプリミティブ型がありますか? それらのリストが見つからないようです。そうでない場合、なぜですか?

4

4 に答える 4

36

Ruby の中核となる原則は、すべてのデータをオブジェクトとして表現する必要があるということです。Smalltalk などの他の言語も同様のパラダイムに従います。

この設計の利点は、Ruby がより洗練され、習得しやすくなることです。オブジェクトに適用されるルールは、すべての Ruby に一貫して適用されます。

たとえば、初心者が初めて Java を学習する場合、プリミティブ型 int とラッパー クラス Integer の違いに混乱する可能性があります。この混乱は、オートボクシングによる 2 つの間の暗黙の変換が混乱を招くことがあるために悪化します。

では、なぜ Java や C# などの言語がプリミティブ型を気にするのでしょうか? 答えはパフォーマンスです。プリミティブと比較すると、オブジェクトの作成には追加のオーバーヘッドが発生します。

于 2013-09-13T15:52:01.920 に答える
6

Rubyについてより引用

Ruby では、すべてがオブジェクトです。あらゆる情報とコードに、独自のプロパティとアクションを与えることができます。

多くの言語では、数値やその他のプリミティブ型はオブジェクトではありません。Ruby は、すべての型にメソッドとインスタンス変数を与えることで、Smalltalk 言語の影響を受けています。オブジェクトに適用されるルールはすべての Ruby に適用されるため、これにより Ruby の使用が容易になります。

Java は、主にパフォーマンスのためにいくつかのプリミティブ型を保持することを選択しますが、すべての型がクラスであるとは限らないことを認めなければなりません。Ruby の哲学は、プログラマーの日々を楽にすることです。すべてをオブジェクトにすることは、これを達成するための 1 つの方法だと思います。

于 2013-09-13T15:54:02.950 に答える