• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

よろかじ

YoroKaji.info

  • About
  • Sitemap
  • Blog
現在の場所:ホーム / programing / ドットインストール Ruby入門

ドットインストール Ruby入門

2018年6月21日

Vagrant UPがようやくなんとか復旧したので勉強を開始。

Contents

  • ローカル環境
    • Rubyがインストールされていると使える便利なコマンド
  • 02 はじめてのRubyプログラム
  • 03 変数、定数を使ってみよう
    • 変数
  • 定数
  • 04 オブジェクトを理解しよう
  • 05 数値オブジェクトを使おう
    • 代表的なメソッド
  • 06 文字列オブジェクトを使おう
  • 07 ?や!がついたメソッドを使おう
  • 08 配列オブジェクトを使おう
    • 要素の書き換え
    • 要素を追加する
    • その他のメソッド
  • 09 ハッシュオブジェクトを使おう
    • ハッシュ要素へのアクセス
    • ハッシュの値の書き換え
    • さらに便利なメソッド

ローカル環境

  • PowerShell
    cd MyVagrant
    cd MyCentOS
    vagrant up

  • Putty
    MyCentOS open
    login as vagrant
    pass vagrant

[vagrant@localhost ruby_lessons]$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
[vagrant@localhost ruby_lessons]$

Rubyがインストールされていると使える便利なコマンド

  • irb インタラクティブにルビーを操作していくことができる

[vagrant@localhost ruby_lessons]$ irb
irb(main):001:0> p "hello"
"hello"
=> "hello"
irb(main):002:0> exit

exitで抜ける

  • ri 知りたい命令やオブジェクトのドキュメントを見ることができる

例も豊富なのでわからないときがあれば見ると良い。

qで抜ける

02 はじめてのRubyプログラム

https://dotinstall.com/lessons/basic_ruby_v3/37102

コマンドラインは見通しが悪いのでファイル転送ツール(Cyberduck)で操作していく。

実行はPuttyから

[vagrant@localhost ruby_lessons]$ ruby hello.rb
hello world[vagrant@localhost ruby_lessons]$

ruby hello.rb 命令 ファイル名

print "hello world"

print 渡したオブジェクトを文字列にして表示させる

print “hello world”; 
末尾セミコロンも使えるが、改行があれば省略できるので、1行に複数の命令を書きたいとき以外には使わない

# コメント
パウンドキーを頭につける

=begin
ここの中はコメント
=end
一気に書きたい場合は =begin =endで囲う

  • puts “hello world”
    +改行がつく

  • p “hello world”
    デバッグ用、オブジェクトの種類がわかりやすいように表示してくれる(””つけるなど)

03 変数、定数を使ってみよう

https://dotinstall.com/lessons/basic_ruby_v3/37103

変数

変数はいきなり使い始めることができるが
英子文字か_アンダーバーで始めなければいけない

msg = "hello world"
puts msg

変数には何回でも値を割り当てることができる

msg = "hello world"
puts msg
msg = "hello world again"
puts msg

[vagrant@localhost ruby_lessons]$ ruby hello.rb
hello world
hello world again

定数

プログラム中で値を書き換えてほしくないもの

最初が英大文字
慣習的に全部大文字にする場合が多い

VERSION = 1.1
puts VERSION
VERSION = 1.2
puts VERSION

とした場合

[vagrant@localhost ruby_lessons]$ ruby hello.rb
1.1
hello.rb:9: warning: already initialized constant VERSION
hello.rb:7: warning: previous definition of VERSION was here
1.2

rubyは警告は出るが値は書き変わってしまう点に注意!

04 オブジェクトを理解しよう

Rubyは全ての値がオブジェクトになっている

オブジェクト=便利な命令をいろいろ持っているデータ型

例)
“Hello World”.length で文字数を返してくれる
“Hello World”.reverse 逆順に並べた文字列を返す

1.1.round 四捨五入して1を返す
1.1.floor 小数点以下を切り捨て

オブジェクトの種類によって命令がいろいろある
命令=メソッド

どのメソッドが使えるかは、値がどの種類のオブジェクトに属しているかによって変わる

オブジェクトの種類=クラス
値=インスタンス

String Class 文字列
Float Class 浮動小数点

クラスの扱に慣れることによって、思った通りのプログラミングができるようになる

05 数値オブジェクトを使おう

https://dotinstall.com/lessons/basic_ruby_v3/37105

数値はそのまま記入
32
4.8

オブジェクトがどのクラスに属していて
どんなメソッドを持っているか調べる

.class
.methods
というメソッドを使う

floatクラスで、一覧のメソッドが使える

代表的なメソッド

四則演算 + – * / % **(べき乗)

割り算の結果を小数点にしたい場合は、一方を浮動小数点にする
p 10.0 / 3

有理数 分数を扱う場合
p Rational(2,5)
五分の二

p Rational(2,5) + Rational(3,4)
p 2/5r + 3/4r

でもOK

[vagrant@localhost ruby_lessons]$ ruby hello.rb
13
30
4.8
3
1
3.3333333333333335
(23/20)
(23/20)

p 52.6.round 四捨五入
p 52.6.floor 切り捨て
p 52.6.ceil(シール) 切り上げ

06 文字列オブジェクトを使おう

https://dotinstall.com/lessons/basic_ruby_v3/37106

ダブルクォーテーションまたは
シングルクォーテーションでくくる

”” 特殊文字が使える、式展開ができる

\n 改行
\t タブ

puts “hello \n wor\tld”
puts ‘hello \n wor\tld’

式展開

name = “taguchi”
puts “hello #{name}”

↓
hello taguchi

文字列オブジェクトでよく使うメソッド

+連結
*繰り返し

puts “hello” + “world”
puts “hello” * 10

↓
helloworld
hellohellohellohellohellohellohellohellohellohello

07 ?や!がついたメソッドを使おう

https://dotinstall.com/lessons/basic_ruby_v3/37107

文字列オブジェクトに使えるメソッドの続き

  • !
    upcase 文字を大文字にしたものを返すだけ
    upcase! 文字を大文字にしたものを返しつつ、元の文字列も大文字で書き換える

!がついたメソッドはおおもとの文字を書き換えてしまうという意味で『破壊的なメソッド』と呼ぶ

name = “taguchi”
puts name.upcase
puts name

puts name.upcase!
puts name

↓

TAGUCHI
taguchi
TAGUCHI
TAGUCHI

他にも!のついたメソッド
downcase 全部小文字にする
reverse 文字順を逆にする
など

  • ? 真偽値 true or false を返す

empty? 空かどうか
include? 特定の文字が含まれているか

name = “taguchi”
p name.empty?
p name.include?(“g”)

↓

false
true

08 配列オブジェクトを使おう

https://dotinstall.com/lessons/basic_ruby_v3/37108

colors = [“red”,”blue”,”yellow”]

p colors[0] 添え字

p colors[-1]末尾
p colors[-2]末尾から2番目
p colors[0..2]0~2まで
p colors[0…2]0~2の直前まで
p colors[範囲外の数字] nilというオブジェクトが返る

nil 何もないという特殊なオブジェクト

要素の書き換え

colors = [“red”,”blue”,”yellow”]
olors[0] = “pink”
colors[1..2] = [“white”.”black”]

要素を追加する

colors.push(“gold”)
または
colors << “silver”

その他のメソッド

p colors.size 要素の数を示す
p colors.sort 並べ替え

09 ハッシュオブジェクトを使おう

https://dotinstall.com/lessons/basic_ruby_v3/37109

ハッシュ
key / value
ペアにしてまとめておくことができるオブジェクト

scores = {“taguchi” => 200, “fkoji” => 400}

keyは文字列でも数値でもなんでもよいが、
『シンボルオブジェクト』が良く使われる。

:taguthi

文字列を使うよりより高速

scores = {:taguchi => 200, :fkoji => 400}

さらに簡単に

scores = {taguchi: 200, fkoji: 400}

↑こう書いても良い

ハッシュ要素へのアクセス

p scores[:taguthi]

ハッシュの値の書き換え

scores[:jkoji] = 600

さらに便利なメソッド

p scores.size 要素の数
p scores.keys キーの一覧
p scores.values 値の一覧
p scores.has_key?(:taguchi) そのキーがあるかどうか

2
[:taguchi, :fkoji]
[200, 400]
true

Filed Under: programing 関連タグ:Ruby

前の記事: VM Virtual Box Vagrant UP 再インストール後
次の記事: ドットインストール Javascript パスワードジェネレータ

最初のサイドバー

人気の投稿とページ

  • 携帯電話から050 IP電話にかける料金
    携帯電話から050 IP電話にかける料金
  • Youtubeでチャンネル登録者を削除する
    Youtubeでチャンネル登録者を削除する
  • PS3 電源は入るのに画面が真っ黒で何も表示されない場合の対処法
    PS3 電源は入るのに画面が真っ黒で何も表示されない場合の対処法
  • AndroidアップデートしたらWifiにつながらなくなった時の対処
    AndroidアップデートしたらWifiにつながらなくなった時の対処
  • NTT固定電話から050 IP電話にかける場合
    NTT固定電話から050 IP電話にかける場合
  • Adobe CC アドビクリエイティブクラウドの仕訳
    Adobe CC アドビクリエイティブクラウドの仕訳
  • Chromeの激重対策:フィッシング対策ソフトRapportを停止しました
    Chromeの激重対策:フィッシング対策ソフトRapportを停止しました
  • Illustrator 10 を Windows 7 Home 64bitで動かす
    Illustrator 10 を Windows 7 Home 64bitで動かす
  • Office アカデミック版は、2台目にインストールさえすれば、Microsftアカウントは誰のでも使用可
    Office アカデミック版は、2台目にインストールさえすれば、Microsftアカウントは誰のでも使用可
  • GOM Pickerのダウンロードボタンが表示されない場合
    GOM Pickerのダウンロードボタンが表示されない場合

カテゴリー

  • Adobe (7)
  • Apple (6)
    • iPod (5)
  • Appliances (1)
  • Blog (70)
  • Books (2)
  • Computer (1)
  • Dotinstall (2)
  • English (1)
  • Facebook (1)
  • Google (2)
  • Illustrator (2)
  • mobile (2)
  • programing (7)
  • Programming (14)
    • mysql (1)
    • PHP (11)
  • Server (5)
    • Clover (1)
    • Firebird (2)
    • heteml (2)
    • X2 (1)
    • XREA (1)
    • Xserver (1)
  • Software (2)
  • Telephone (4)
  • tips (2)
  • Troubleshoot (37)
  • twitter (5)
  • Web Service (2)
  • Website (3)
    • CSS (2)
  • windows7 (2)
  • windows8 (7)
  • Wordpress (42)
    • Genesis (5)
    • Plugin (21)

Footer

検索

カテゴリー

アーカイブ

Link

  • 運営者ブログ
  • 運営者WEBサイト

Copyright © 2021 · yorokaji.info

  • About
  • Sitemap
  • Blog