2017-06-30 4 views
0

私はRubyの新しいユーザーです。これまで変数(オブジェクト)クラスを変更するのは非常に簡単ですRubyでデータ型を保護する方法

#create an object 
n=1 
n.class 
=> Fixnum 

n="Abc" 
n.class 
=> String 

変数のデータ型を保護する方法はありますか?たとえば、Javaの場合と同様に、変数が整数の場合、整数以外の値をとることはできません。

ありがとうございました!

+0

値のタイプを確認できます。なぜあなたはそれをする必要がありますか? – ndn

+1

いいえ、Rubyの変数でこれを行う方法はありません。最良の選択肢は、変数のタイプが任意の時点で明白であるように、すべてを読み取り可能にすることです。 – Ryan

+0

私は、期待される変数が整数である場合、整数として残り、このクラスのすべてのメソッドが有効であることを確認したいだけです。メソッドを実行する前に、変数のデータ型を常にチェックするソリューションはありますか? – Ona

答えて

0

できません。

Rubyでは、オブジェクトに対してしか操作できませんが、変数はオブジェクトではないため、その型について変数を問い合わせる方法はありません。

また、Rubyでは "type"という概念もありません。

+0

まあ、タイプと呼ばれるものに依存します。しかし、確かにOPが想像するものではありません。 – ndn

+0

OOでは、 "type"は基本的に "protocol"と同義です。したがって、基本的にはそれが理解できるメッセージのセットであり、どのように反応するかです。 –

関連する問題