営業が勉強するプログラミング

現在は動画配信の企画&営業&フィールドSEみたいなことをやっております。

【一から始める】rubyの世界2

rubyの勉強2

  • ドットインストール
  • 2015年2月8日

オブジェクト

  • hello worldは文字列のデータであって、オブジェクト
p "hello world"

メソッド

  • データのあとに「.」でメソッド名をつければいい
p "hello world".length
# 結果は下記のように返してきます。

$ ruby hello.rb
11
  • メソッドは、クラスという中に定義されております。
  • 文字列に関係するメソッドは「String」クラスで定義されいる。
  • 公式サイトのドキュメントの中にクラス一覧があります。(英語)

数値オブジェクト

x = 10
y = 20.5
z = 1/3r

p x % 3
p x ** 3
p z * 2
結果:

$ ruby hello.rb
1     #10÷3=3...1
1000  #10×10×10
(2/3) #1/3 ×2
  • 自己代入とは、x = x + 5 という計算のことをいいます。
    その際は、下記のような記述をします。
x += 5
p x
結果:15
  • 数値に関しては Numeric クラスというものを定義されている
p y.round
結果:21

文字列オブジェクト

ダブルコーテーションとシングルコーテーションの違いについて

  • 変数展開についての違い
name = "taguchi"
x = "hello world, #{name}"
y = 'hello world, #{name}'

puts x
puts y
結果:
hello world, taguchi
hello world, #{name}
x = "he\tllo\n world"
y = 'he\tllo\n world'

puts x
puts y
結果:
he  llo
 world
he\tllo\n world
  • 文字列の演算について
puts "hello world" + " taguchi"
puts "hello " * 5
結果:
hello world taguchi
hello hello hello hello hello 

破壊的メソッド、真偽値を返すメソッド

  • メソッドに破壊的メソッド「!」がついているものは、元のデータ自体も変えてしまう。
s = "taguchi"
puts s.upcase!
puts s
結果:
TAGUCHI
TAGUCHI

# upcaseというものは、大文字にするものメソッドだが
upcase!になると、元のデータも大文字になるので、
それ以降はすべて大文字になる。
  • 真偽値を返すメソッド「?」は,tureかfalseを返す。条件判定等に使われる。
s = "taguchi"
puts s.empty?
結果:
false
s = ""
puts s.empty?
結果:
true