【初心者向け】Rubyでよく使う基本コード一覧|実例付き

ruby-prograshi(プロぐらし)-kv ruby
記事内に広告が含まれていることがあります。

Rubyでよく使う基本的なコードについて、使い方をまとめています。

Pythonなどと多言語との主な違いは、puts、ハッシュ、シンボル、eachメソッドの書き方、if式のelsifなどです。共通する部分も多くあります。


拡張子

.rb


出力(putsメソッド)

puts "AAA"
 └ 「’」でもOK
 └ putsの後に半角スペース必須


コメントアウト(#)

#


文字をつなげる(+)

puts 'AAA' + 'BBB'
 └ 数値と文字列の連結は不可
 └ 型は統一する(もしくは変数展開)


変数定義

変数名 = 数値
変数名 = '文字列'


自己代入演算子

x=x+10x+=10
x=x-10x-=10
x=x*10x*=10
x=x/10x/=10
x=x%10x%=10


式展開

puts "#{ }"
 └ ダブルクオテーション
 └ ※シングルクオテーションはそのまま文字列として出力

hello = "こんにちは"
name = "AAA"

puts "#{hello}、#{name}さん"

pythonやphpの変数展開。rubyでは式展開と呼ぶ。


if式(条件分岐)

if 条件式1
 処理
elsif 条件式2
 処理
else
 処理
end

 └ elsif (python:elif, php: else if)
 └ 条件式は true/falseに置き換わる
 └ falseの場合は処理をスキップ


比較演算子

== 等しい
!= 等しくない
> より大きい
< より小さい
>= 以上
<= 以下


論理演算子

&& かつ
|| または


配列

[要素1,要素2,要素3,,,]

array = ["AAA","BBB","CCC"]
puts array[0]
puts "インデックス番号1の要素は#{array[1]}です。"

#出力
AAA
インデックス番号1の要素はBBBです。


eachメソッド(繰り返し処理)

配列.each do |変数名|
  処理
end

 └ .each do| |
 └ 最後にend必須
 └ 定義した変数名が使えるのはeachメソッドの中のみ

elements = ["AAA","BBB","CCC"]
elements.each do |element|

puts "配列の中身は#{element}です。" 

#出力
配列の中身はAAAです。
配列の中身はBBBです。
配列の中身はCCCです。


シンボル

:値
 └ シンボル型
 └ 文字列の代替として使える
 └ ハッシュのキーに使われることが多い

puts "AAA"
puts :AAA

#出力
AAA
AAA


ハッシュ

各値に名前(キー)をつけた配列の呼び名。
{キー1=>値1,キー2=>値2, キー3=>値3,,,}
 └ 文字列は「”」で囲む(キー、値)
 └ 波括弧:{ }
 └ 配列にハッシュを代入する

elements = {"key1"=>"A","key2"=>"B", "key3"=>"C"}
puts elements["key2"]

#出力
B

▼他の言語
・pythonの辞書型
 {キー1:値1,キー2:値2, キー3:値3,,,}
・phpの連想配列
  (キー1=>値1,キー2=>値2, キー3=>値3,,,);

ハッシュ値の更新

ハッシュ["キー名"] = 変更したい値

elements = {"key1"=>"A","key2"=>"B", "key3"=>"C"}
elements["key2"]=222

puts elements["key2"]

#出力
222

ハッシュに要素追加

elements = {"key1"=>"A","key2"=>"B", "key3"=>"C"}
elements["key4"]="D"

puts elements

#出力
{"key1"=>"A","key2"=>"B", "key3"=>"C", "key4"=>"D"}

キーにシンボルを使う

キー名を文字列ではなく、「:」をつけて表せる。
:キー名=>値
 └ 取得 配列[:キー名]

elements = {:key1=>"A",:key2=>"B", :key3=>"C"}
puts elements[:key2]

#出力
B

シンボルを使った省略形

:キー名=>値キー名:値
 └ ※取得時はシンボルを使う
 └ 取得 配列[:キー名]

elements = {key1:"A",key2:"B", key3:"C"}
puts elements[:key2]

#出力
B


nil

nil(ニル)
 └ 空の要素
 └ nil自体を出力すると空文字になる

nilとハッシュ

  • 存在しないキーを指定すると、値はnilになる
  • エラーにならない
elements = {key1:"A",key2:"B", key3:"C"}
puts elements[:key4]
puts nil

#出力

nilとif式

if式は条件式がtrueとfalse以外に、nilかそれ以外も使える。

・nil → false
・nil以外 → true

elements = {key1:"A",key2:"B", key3:"C"}

if elements[:key4]
 puts "key4の値は#{elements[:key4]}です"
else
 puts "key4はありません"
end

#出力
key4はありません


配列とハッシュ

配列の要素にハッシュを入れる

配列の要素にハッシュを入れることができる。

elements = [{order:"A",number:1}, {order:"B",number:2}, {order:"C",number:3}]
elements = [
  {order:"A",number:1}, 
  {order:"B",number:2}, 
  {order:"C",number:3}
]

puts elements[0]

#出力
{order:"A",number:1}

配列の中のハッシュの値を取り出す

elements = [
  {order:"A",number:1}, 
  {order:"B",number:2}, 
  {order:"C",number:3}
]

#変数に代入して取り出す
element = elements[0]
puts element[:order]

#1行で取り出す
puts elements[0][:order]

#出力
A
A

eachメソッドを使ってハッシュの値を取り出す

配列.each do |変数名|
  処理
end
elements = [
  {order:"A",number:1}, 
  {order:"B",number:2}, 
  {order:"C",number:3}
]

elements.each do |element|
  puts "#{element[:order]}の数字は#{element[:number]}です"
end

#出力
Aの数字は1です
Bの数字は2です
Cの数字は3です


ハッシュ・eachメソッド・if式の組み合わせ

elements = [
  {order:"A",number:1}, 
  {order:"B"}, 
  {order:"C",number:3},
  {order:"D"}
]

elements.each do |element|
 #数字があるかないかを判断
  if element[:number]
    puts "#{element[:order]}の数字は#{element[:number]}です"
  else
    puts "#{element[:order]}の数字はありません"
  end
end

#出力
Aの数字は1です
Bの数字はありません
Cの数字は3です
Dの数字はありません


Rubyは奥深く同じ処理に対して複数の書き方が存在します。便利でもありますが初心者にとっては混乱を招く原因にもなります。

いろいろな書き方があることを面白がりながら学び続ける根気が必要な言語です。

タイトルとURLをコピーしました