私はNetbeansを使用してRubyでプログラミングしていますが、Rubyのメインクラスから作成した他のクラスには、そのコードをメインクラス自体に配置するまでアクセスできないようです。Java クラスのように動作するように修正する方法はありますか?
2 に答える
私があなたを正しく理解していればimport
、別のファイルに書き込んだクラスを現在のファイルに探しています。これがあなたが探しているものなら、見てくださいrequire_relative
# cow.rb
class Cow
def moo
'Moooooooo'
end
end
# main.rb
require_relative 'cow.rb'
milford = Cow.new
puts milford.moo #=> 'Moooooooo'
注意すべきことはrequire_relative
、呼び出したファイルの現在の場所でファイルを検索することです。たとえば、次のようになります。
# If cow.rb is in folder 'animals'
require_relative 'animals/cow.rb' #=> Fine
require_relative 'cow.rb' #=> LoadError
Ruby に関する優れたチュートリアルを見つけるか、初心者向けの本を見つけることをお勧めします。それらのいくつかは、Programming Ruby The Pragmatic Programmer's Guide のようにオンラインでも入手できます。この質問は、かなり基本的な Ruby の概念をカバーしています。
また、Netbeans は Ruby のサポートを終了しているため、Netbeans の使用はお勧めしません。これは、古いバージョンの Netbeans を引き続き使用したい場合には問題ありませんが、すぐに新しい Ruby バージョンのサポートが不足していることに気付くでしょう。
まず、Ruby には「パッケージ」という概念がありません。ファイルとモジュールがあります。同じディレクトリ内のファイルからすべてのグローバル変数、定数、モジュール、およびクラスをインポートするには、次のように入力します。
require_relative "myfile.rb"
myfile.rb
コードで定義されている任意のクラス、モジュール、定数、およびグローバル変数を使用できるようになりました。