他の人が指摘したように、runningruby hello.rb
はスクリプトを実行します。コンパイルは必要ありません (Ruby 仮想マシンの舞台裏を除きますが、気にする必要はありません)。
コメントで提供したファイルのコードに基づいて(改行とインデントを入れました):
class Hello
def say
puts "hello World"
end
end
...スクリプトが何もしていないように見える理由は、クラスとメソッドを定義するだけで、クラスのインスタンス化やメソッドの呼び出しを行わないためです。あなたは(別のコメントで)呼び出す正しい考えを持っていましたh = Hello.new()
; その後、置くh.say
と、「hello World」と表示されます。
(これら 2 つのメソッド呼び出しを含め、括弧は通常は必要ありませんが、重要な場合もあります。さまざまな慣習がありますが、ほとんどの Rubyist は引数なしでメソッドを呼び出す場合は括弧をスキップしnew
ますsay
。
EDIT:
rails c
Ruby言語とは別のエンティティであるRuby on Rails用です(Rubyで書かれていますが)。