最初のRubyプログラムの書き方

はじめに

「Hello, World!」プログラムは、コンピュータプログラミングにおける古典的で伝統的な伝統です。これは初心者向けの小さく完全な最初のプログラムであり、環境が正しく設定されていることを確認するための良い方法です。

このチュートリアルでは、このプログラムをRubyで作成する手順を説明します。ただし、プログラムをより興味深くするために、伝統的な「Hello, World」プログラムを変更して、ユーザに名前を尋ねるようにします。そして、挨拶にその名前を使用します。チュートリアルが終わると、プログラムを実行した際に次のように表示されるでしょう:

Output
Please enter your name. Sammy Hello, Sammy! I'm Ruby!

前提条件

コンピュータ上にローカルなRuby開発環境を設定しておく必要があります。以下のチュートリアルのいずれかに従って、環境を設定してください:

ステップ1 — 基本の「Hello, World!」プログラムの作成

「Hello, World!」プログラムを作成するには、nanoなどのコマンドラインテキストエディタを開き、新しいファイルを作成します。

  1. nano hello.rb

テキストファイルがターミナルウィンドウで開かれると、プログラムを入力します。

hello.rb
puts "Hello, World!"

コードのさまざまな部分を解説しましょう。

putsは、コンピュータにテキストを画面に表示するよう指示するRubyのメソッドです。

putsメソッドの後には、引用符で囲まれた文字列である「Hello, World!」という文字列が続きます。引用符で囲まれた文字列は文字列と呼ばれます。プログラムが実行されると、putsメソッドはこの文字列を画面に表示します。

いくつかのメソッド、例えばputsメソッドは、Rubyにデフォルトで含まれています。これらの組み込みメソッドは、Rubyプログラムを作成する際に常に利用できます。また、独自のメソッドを定義することもできます。

nanoを終了して保存するには、CONTROLキーとXキーを入力し、ファイルを保存するかどうかのプロンプトが表示されたらyを押してENTERキーを押してください。

では、プログラムを試してみましょう。

ステップ2 – Rubyプログラムの実行

「Hello, World!」プログラムが書かれたら、プログラムを実行する準備が整いました。作成したファイルの名前の後にrubyコマンドを使用します。

  1. ruby hello.rb

プログラムが実行され、次の出力が表示されます:

Output
Hello, World!

実際に起こったことを探ってみましょう。

rubyコマンドを実行すると、Rubyのインタプリタが起動します。Rubyインタプリタは指定したファイルを読み込み、その内容を評価します。そして、puts関数を呼び出すことで、Hello, World!の文字列値が関数に渡されます。

この例では、Hello, World!という文字列は、引数とも呼ばれます。なぜなら、それはメソッドに渡される値だからです。

Hello, World!の両側にある引用符は、Rubyに文字列を含んでいることを伝えるために使用されたため、画面に表示されませんでした。引用符は文字列が始まりと終わりの場所を示しています。

プログラムは動作しますが、より対話的にすることができます。それでは、どのようにするかを見てみましょう。

ステップ3 – 入力のプロンプト

プログラムを実行するたびに、同じ出力が生成されます。プログラムを実行している人に名前を入力してもらいましょう。それを出力で使用することができます。

既存のプログラムを変更する代わりに、nanoエディタでgreeting.rbという新しいプログラムを作成してください。

  1. nano greeting.rb

まず、以下の行を追加して、ユーザーに名前の入力を促します:

greeting.rb
puts "Please enter your name."

再び、putsメソッドを使用してテキストを画面に表示します。

次に、以下の行を追加してユーザーの入力をキャプチャします:

greeting.rb
puts "Please enter your name."
name = gets

次の行は少し複雑ですので、分解してみましょう。

getsメソッドはコンピュータにキーボードからの入力を待つように伝えます。これにより、プログラムが一時停止し、ユーザーが任意のテキストを入力できるようになります。ユーザーがキーボードのENTERキーを押すと、プログラムは続行されます。ENTERキーを含むすべてのキーストロークは、文字列に変換されてキャプチャされます。

これらの文字をプログラムの出力に使用したいので、文字列をnameという変数に割り当てて保存します。Rubyは、プログラムが終了するまでその文字列をコンピュータのメモリに保存します。

最後に、次の行を追加して出力を印刷します:

greeting.rb
puts "Please enter your name."
name = gets
puts "Hi, #{name}! I'm Ruby!"

再びputsメソッドを使用しますが、この場合は文字列内挿というRubyの機能を使用します。これにより、変数に割り当てられた値を文字列の内部に配置することができます。単語nameの代わりに、ユーザーの名前として保存した値を取得します。

nanoを終了して保存し、ファイルを保存するように求められたらyを押し、ENTERを押します。

次に、次のコマンドでプログラムを実行します:

  1. ruby greeting.rb

名前を入力し、ENTERを押してください。出力は正確には予想どおりではないかもしれません:

Output
Please enter your name. Sammy Hi, Sammy ! I'm Ruby!

Hi, Sammy! I'm Ruby!の代わりに、名前の直後に改行があります。

プログラムは、続行するために押したENTERキーを含むすべてのキーストロークをキャプチャしました。文字列内でENTERキーを押すと、新しい行を作成する特殊な文字が作成されます。プログラムの出力は、正確に指示したとおりに動作しています。入力したテキストを表示しており、それには改行が含まれています。ただし、望んでいる結果ではありません。しかし、修正することができます。

エディタでgreeting.rbファイルを開きます:

  1. nano greeting.rb

プログラム内のこの行を見つけます:

greeting.rb
name = gets

そして、次のように修正します:

greeting.rb
name = gets.chop

これは、getsでキャプチャした文字列にRubyのchopメソッドを使用しています。 chopメソッドは文字列から最後の文字を削除します。 この場合、ENTERを押した時に作成された改行文字を削除します。

nanoを保存して終了します。 CTRL+Xを押し、ファイルを保存するように求められた場合はyを押します。

プログラムをもう一度実行します:

  1. ruby greeting.rb

今回は、名前を入力してENTERを押すと、予想どおりの出力が得られます:

Output
Please enter your name. Sammy Hi, Sammy! I'm Ruby!

これで、ユーザーからの入力を受け取り、スクリーンに表示するRubyプログラムができました。

結論

入力を促し、結果を処理し、出力を表示する方法を知ったので、プログラムをさらに拡張してみてください。 たとえば、ユーザーの好きな色を尋ね、プログラムが自分の好きな色を赤と言うようにしてみてください。 また、同じテクニックを使用してシンプルなマッドリブプログラムを作成することも試してみてください。

Source:
https://www.digitalocean.com/community/tutorials/how-to-write-your-first-ruby-program