「Ruby」参考情報 第6回 Rubyの標準入力と標準出力として、「(1)標準入力」「(2)標準出力」について紹介。

「Ruby」参考情報 第6回 Rubyの標準入力と標準出力

「Ruby」参考情報 第6回 Rubyの標準入力と標準出力として、「(1)標準入力」「(2)標準出力」について紹介。

■関連する比較ページ

(1)標準入力

■標準入力「STDIN」

使用例

標準入力「STDIN」からデータを受け取るには「gets」を使用します。

gets」は標準入力から行単位で読み込みます。行末の改行文字を取り除きません。

サンプルコード

#標準入力取得ループ
while str = STDIN.gets
  #改行コードを除去した文字列が"exit"の場合ループ終了
  break if str.chomp == "exit"
  #取得した標準入力文字列を出力
  #「{str}」で変数の内容を出力します
  puts "input text:{str}"
end

結果

dog #キーボード入力
input text:dog
cat #キーボード入力
input text:cat
exit #キーボード入力

■コマンドライン引数

変数「ARGV」にはコマンドラインで指定された引数が配列としてセットされています。

サンプルコード(argb_test.rb)

#コマンドライン引数1番目を出力
puts ARGV[0]
#コマンドライン引数2番目を出力
puts ARGV[1]
#コマンドライン引数3番目を出力
puts ARGV[2]

結果

argb_test.rb dog cat rabbit #キーボード入力
dog
cat
rabbit

(2)標準出力

■標準出力「STDOUT」と標準エラー「STDERR」

2種類に分けて出力させることができます。チェック用、デバッグ用などの用途に分けて出力できます。

サンプルコード(test.rb)

#標準出力
STDOUT.puts "標準出力STDOUT"
#標準エラー
STDERR.puts "標準エラーSTDERR"

(結果1)リダイレクトなしの場合

どちらも出力されます。

test.rb #キーボード入力
標準出力STDOUT
標準エラーSTDERR

(結果2)標準出力をリダイレクト

「test.rb 1>out.log」と実行すると、標準出力をログファイルに書き出すことができます。

「1」は標準出力を表します。省略も可能です。

test.rb 1>out.log #キーボード入力
標準エラーSTDERR ←標準エラーはコンソールへ

※out.logの中に、「標準出力STDOUT」が出力されます。

(結果3)標準エラーをリダイレクト

「test.rb 2>err.log」と実行すると、エラー出力をログファイルに書き出すことができます。「2」はエラー出力を表します。

省略は不可です。

test.rb 2>err.log #キーボード入力
標準出力STDOUT ←標準出力はコンソールへ

※err.logの中に、「標準エラーSTDERR」が出力されます。

■「print」と「puts」と「p」

3つとも出力を行いますが、微妙に異なります。

サンプルコード

#print
print("Hello Ruby World ")
print(12345)
#puts
puts("Hello Ruby World ")
puts(12345)
#p
p("Hello Ruby World ")
p(12345)

結果(print)

Hello Ruby World 12345
※「print」は改行されません

結果(puts)

Hello Ruby World
12345

※「puts」は改行されます

結果(p)

Hello Ruby World
12345

※「p」は、文字列が「"」で囲まれます。主にデバッグ用に使われます。

Ruby最新TOPICS

【講演資料を公開】3/22「スマホアプリの開発プロセスについて~実は重要なサーバーサイドの開発と、Laravel(PHP) と Rails(Ruby)~」(2018年04月27日 10:04)

2018年03月22日(木)17:00~18:30 AP品川 9階 にて「スマホアプリの開発プロセスについて~実は重要なサーバーサイドの開発と、Laravel(PHP) と Rails(Ruby)~」と題したセミナーを開催しました。 当日は、会場の様子をWebで中継し 遠隔地等ご来場出来ない方にもご参加頂きました。お陰様で、盛況のうちに終了することができました。ありがとうございました。 講...

イベント情報

セミナー講演資料

無料資料プレゼント

2021/03/04 セキュリティDAYS Keyspider資料

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該資料の作成・提供企業とも共有させていただき、当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

本資料を見るには次の画面でアンケートに回答していただく必要があります。



セミナー講演資料公開中

CI/CDが開発ガバナンスの弱体化を招く?回避する方法とは ~複数ツールの組み合わせで生じる問題を、統合プラットフォーム「GitLab」で解決~

リアルタイム性の高いIoTの課題とは?スマートシティを支えるMQTT ~IoTメッセージングプラットフォームを活用し、セキュリティ確保や通信到達保障を簡単に実現~

エンジニアにとって「情報発信」は重要なのか? ~テックピット DEVELOPERS RESKILLING CONFERENCE クロージングセッション~

  • オープソース書籍(サイド)
  • OSSNEWSに広告を掲載しませんか?

facebook

twitter