【プログラミング教育ナビ】は、プログラミング初心者が自分に合った勉強法や教室を見つけられたり、プログラミングに特化した求人が検索できたり、SaaSの比較ができるサイトです。人気講座のある入門スクールや独学できる学習サイトを、口コミ・評判で比較してランキング形式でご紹介しています。言語から探す場所から探す条件から探すrsstwitterfacebook案件獲得できなかったら全額返金!未経験からプロのエンジニアスキルを身につけ、フリーエンジニアとして稼げるまで徹底サポート。まとめはじめにそろそろ入門的な内容に飽きてきましたか?ここから、やや応用的な部分へと足を踏み入れていきましょう。これまでは、ほとんどの処理がプログラム内で完結していました。そこから一歩踏み込んで、外部とやり取りするプログラムを作ってみましょう。キーボードとファイルです。この記事では、Ruby初心者の方向けに、キーボードやファイルの入出力について説明していきます。外部とやり取りできると面白みが増してくるので、ぜひ自分でも試してみましょう。キーボードからの入力を受け取るキーボードからの入力を受け取るには、「getsメソッド」を使います。”getsメソッド”を使うと、キーボードからの入力を一行の文字列として取得できます。eval(input)endこの例は、入力された文字列をRubyプログラムとして実行します。”evalメソッド”を使うと、文字列をRubyプログラムとして動的に実行できるのです(例:1+1など)。”while文”を使って無限ループさせているので、”quit”という文字列を入力して終了させます。次のように複数行の入力を受け取ることも可能です。lines「readlinesメソッド」は、キーボードからの入力を複数行で取得できます。状況に応じて、”getsメソッド”と使い分けましょう。ファイルからテキストを読み取る次に、ファイルからテキストを読み取る例をみてみましょう。Rubyでは、すでにファイルとやり取りするメソッドが組み込まれているので、ファイルへの読み書きは簡単です。lineendこの例では、複数行の文字列が書き込まれたテキストファイル(test.txt)から行ごとにテキストを読み込んで出力しています。次のようにブロック文を使わずに一行ずつ取得することも可能です。file.getsfile.close先ほどとは異なり、一行目でファイルオブジェクトを取得して変数に割り当てています。後は、ファイルオブジェクトの「getsメソッド」を呼び出せば一行ずつテキストを取得できます。最後に「closeメソッド」でファイルを閉じることを忘れないようにしましょう。ファイルにテキストを書き出す次は、ファイルへテキストを書き込んでみましょう。こちらも、次のように簡単にできます。"ccc"endファイルに書き込む際も、先程と同じくファイルオブジェクトを使います。ここでは、ブロック文を使ってファイルオブジェクトを扱っているため、”closeメソッド”は不要です。「openメソッド」の第二引数に、”w”が必要なことに注意しましょう。これは、ファイルのオープンモードがデフォルトで読み取りのみ(”r”)だからです。ファイルを開いたら、「putsメソッド」で一行ずつ書き込めます。改行したくない場合は「writeメソッド」を使います。文字エンコーディングに注意!ここまでは、特に「文字エンコーディング」を指定せずに読み書きを行ってきました。文字エンコーディングとは、文字をバイトで表すための表のようなものです。「UTF-8」や「EUC-JP」、「Shift-JIS」など複数のエンコーディングがあります。書き込むときと読み取るときでエンコーディングが違っていると、次のように文字化けを起こします。lineendこの例では、ファイルに”EUC-JP”で書き込み、それを”UTF-8”で読み取っています。このため、文字コードが共通している数値やアルファベットなどは文字化けしませんが、互換性のない日本語などの文字は文字化けしてしまっています。このようなことにならないように、読み書き時の文字エンコーディングには注意しましょう。まとめキーボードおよびファイルへの入出力ができるようになりましたか?外部とやり取りすることで、よりインタラクティブなプログラムが作成できます。実用的なプログラムに一歩近づきましたね。これまで学んだことを活かして、簡単なツールなどを作ってみてもよいでしょう。あなたはどんなプログラムを作ってみたいですか?投稿者:プログラミング教育ナビ編集部tweetプログラミングで挫折しそうなら、現役エンジニアにマンツーマンで相談してみませんか?オンラインのプログラミングスクール「TechAcademy」のメンターが対応。人気の記事まだデータがありません。【プログラミング教育ナビ】は、プログラミング初心者が自分に合った勉強法や教室を見つけられたり、プログラミングに特化した求人が検索できたり、SaaSの比較ができるサイトです。人気講座のある入門スクールや独学できる学習サイトを、口コミ・評判で比較してランキング形式でご紹介しています。