1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Posted at

動作環境は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

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

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?