Help us understand the problem. What is going on with this article?

Ruby  irb、テキストエディタ使用とエラー解決方法

More than 1 year has passed since last update.

動作環境はMacとなります。
主に自分の勉強用メモとして残しています。

Rubyプログラム irb使用

文字列はシングルクオートかダブルクオートで囲む

irb(main):001:0> "Hello, World"
=> "Hello, World"#Rubyは最後の式を自動的に出力するので、プログラムとは言えない。

putsは何かを出力する命令で、これをつけることでプログラムと言える。

irb(main):004:0> puts 'Hello World!'#これがプログラム
Hello World!
=> nil#putsは必ずnilを返す

数値の計算

irb(main):005:0> 1 + 1
=> 2
irb(main):006:0> 10 - 1
=> 9

irbで記述したプログラムをクリアしたい時

clear か control+lキー

irbを終了したい場合

exit か contol+dキー

テキストエディタ使用

この環境ではAtom使用しています。
$はターミナルでの操作を表します。

ファイル作成

$mkdir ruby_projects #mkdirはmake directoryの略でファイル作成の意味
$ls #今いるディレクトリの中身を確認
$cd ruby_projects/ #今いるディレクトリから移動
$touch hello.rb #ファイル作成
$atom . #Atomを開く時のコマンド

rubyプログラムを作成する場合、拡張子は.rbとする。

テキストエディタ

hello.rb
puts 'Hello, World!'#行末に;をつけてもエラーにはならないが、rubyは改行で認識されるため通常書かない
puts 10 + 3

ターミナル

$ ruby hello.rb #ruby + ファイル名で出力
Hello, World!
13

Linuxコマンド

現在のディレクトリをカレントディレクトリという。
ディレクトリとファイルはざっくり同じ。

$ pwd #現在いるファイルの階層を表示
$ cd .. #現在いるフォルダの1つ上の階層に移動
$ ls #現在いるフォルダの中身を表示

エラーを自力で取り除く方法

hello.rb
puts 'Hello, World!'
put 10 + 3 #putsをputと間違えた

ターミナル

$ ruby hello.rb
Hello, World! #問題なく出力される。
hello.rb:2:in `<main>': undefined method `put' for main:Object (NoMethodError)
#hello.rbファイルの二行目のputというメソッドがないよというエラー
Did you mean?  puts
               putc
#もしかしてこういう意味?とエラーが教えてくれている。

メソッドとは処理のまとまりのこと。
エラーメッセージをグーグル検索すると、解決の意図が見つかることが多い。
特にrubyは日本で広く普及されているので、情報が見つかりやすい。

以上を踏まえて修正

hello.rb
puts 'Hello, World!'
puts 10 + 3 #putをputsへ修正

ターミナル

$ ruby hello.rb
Hello, World!
13

正常にプログラムが実行された!

nanbasan
今年4月にweb系エンジニアへ転職を目指しています。 Ruby/Ruby on rails/HTML/CSS/ 未経験ですが、プログラミングスクールで勉強中です。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away