初めてのRubyプログラムの書き方

前書き

「Hello、World!」プログラムは、コンピュータープログラミングの古典的かつ古くからの伝統です。 これは初心者向けのシンプルで完全な最初のプログラムであり、環境が適切に構成されていることを確認するのに適した方法です。

このチュートリアルでは、Rubyでこのプログラムを作成する方法を説明します。 ただし、プログラムをさらに面白くするために、従来の「Hello、World」プログラムを変更して、ユーザーに名前を尋ねるようにします。 その後、グリーティングで名前を使用します。 チュートリアルを完了すると、実行すると次のようなプログラムが作成されます。

OutputPlease enter your name.

Hello, Sammy! I'm Ruby!

前提条件

https://www.digitalocean.com/community/tutorial_series/how-to-install-and-set-up-a-local-programming-environment-for-ruby [ローカルRuby開発環境]が設定されている必要がありますお使いのコンピューター。 これらのチュートリアルのいずれかに従って、1つを設定します。

[[step-1---writing-the-basic-“hello-world-”-program]] === ステップ1-基本的な「Hello、World!」プログラムの作成

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

nano hello.rb

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

hello.rb

puts "Hello, World!"

コードのさまざまなコンポーネントを分類しましょう。

`+ puts +`は、コンピューターに画面にテキストを印刷するよう指示するRuby _method_です。

+ puts +`メソッドの後には、引用符で囲まれた一連の文字-+ Hello、World!`が続きます。 引用符内の文字はすべてhttps://www.digitalocean.com/community/tutorials/understanding-data-types-in-ruby#strings[_string_]と呼ばれます。 ` puts +`メソッドは、プログラムの実行時にこの文字列を画面に出力します。

`+ puts +`メソッドのようないくつかのメソッドは、デフォルトでRubyに含まれています。 これらの組み込みメソッドは、Rubyプログラムを作成するときに常に使用可能です。 独自のメソッドを定義することもできます。

「+ CONTROL 」キーと「 X 」キーを入力して「 nano 」を保存して終了し、ファイルの保存を求められたら「 y +」を押します。

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

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

「Hello、World!」プログラムを作成したら、プログラムを実行する準備ができました。 `+ ruby​​ +`コマンドに続けて、作成したファイルの名前を使用します。

ruby hello.rb

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

OutputHello, World!

実際に何が起こったのかを見てみましょう。

`+ ruby​​ `コマンドを実行すると、Rubyの*インタープリター*が起動しました。 Rubyインタープリターは、指定されたファイルを読み取り、その内容を評価しました。 ` puts `関数を_calling_することで、 ` puts" Hello、World! "`という行を実行しました。 ` Hello、World!+`の文字列値は、関数に_passed_でした。

この例では、文字列 `+ Hello、World!+`は* argument *とも呼ばれます。これは、メソッドに渡される値だからです。

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

プログラムは動作しますが、よりインタラクティブにすることができます。 方法を調べてみましょう。

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

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

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

nano greeting.rb

まず、次の行を追加します。これにより、ユーザーに名前を入力するように求められます。

greeting.rb

puts "Please enter your name."

もう一度、 `+ puts +`メソッドを使用して、テキストを画面に印刷します。

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

greeting.rb

puts "Please enter your name."

この次の行はもう少し複雑です。 分解しましょう。

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

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

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

greeting.rb

puts "Please enter your name."
name = gets

再度 `+ puts `メソッドを使用しますが、今回は変数に割り当てられた値を取得して文字列内に配置できる_string補間_というRuby機能を使用します。 「 name」という単語の代わりに、「+ name of」変数に保存した値を取得します。これはユーザーの名前である必要があります。

保存し、 `+ CTRL + X `を押して ` nano `を終了し、ファイルの保存を求められたら ` y +`を押します。

次にプログラムを実行します。 名前の入力を求められますので、名前を入力して「+ ENTER」を押します。 出力は期待したとおりにはならない場合があります。

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

`こんにちは、サミーの代わりに! 私はRubyです! `、名前の直後に改行があります。

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

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

nano greeting.rb

プログラムで次の行を見つけます。

greeting.rb

name = gets

そして、次のように変更します。

greeting.rb

name = gets

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

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

プログラムを再度実行します。

ruby greeting.rb

今回は、名前を入力して `+ ENTER +`を押すと、期待どおりの出力が得られます。

OutputPlease enter your name.

Hi, Sammy! I'm Ruby!

これで、ユーザーからの入力を取得して画面に出力するRubyプログラムが作成されました。

結論

入力のプロンプト、結果の処理、および出力の表示方法がわかったので、プログラムをさらに拡張してみてください。 たとえば、ユーザーのお気に入りの色を尋ね、そのお気に入りの色が赤であることをプログラムに伝えます。 この同じ手法を使用して、単純なMad-Libプログラムを作成することもできます。

前の投稿:Goでのパニックの処理
次の投稿:Ubuntu 16.04でuWSGIとNginxを使用してDjangoアプリケーションを提供する方法