SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Students.rb #1
のまとめ・補足
新名 哲成
第1章 Ruby
Matz(まつもと ゆきひろ)が開発した
1993年2月から開発され20周年を迎えたプログラミング言語
ストレスなくプログラミングできる事をモットーに作られている。
ガベージコレクション、正規表現、マルチスレッド、Mix-inなどの特徴を持つ
第2章 オブジェクトとメソッド
Rubyに登場する値はすべてオブジェクト。
Rubyでの命令は、メソッド。
一行コメントは # から行末まで。
複数行コメントは =begin ∼ =endまで。
(必ず行頭に記述する)
第2章 オブジェクトとメソッド
エンコーディングを指定するマジックコメントをUTF-8Nで指定する場合、
# coding: utf8
と書く。
シェルスクリプト扱いにする場合
#! /usr/bin/env ruby
と行頭に書く。
Rubyコマンドのオプション
実行
$ ruby ファイル名
ワンライナー
$ ruby -e ‘Rubyのコード’
詳しいオプションは、
$ man ruby
で調べてください。
irbのオプション
起動
$ irb
シンプルな起動
$ irb --simple-prompt
3 基本的なオブジェクト
文字列オブジェクト - String
整数オブジェクト - Fixnum
大きな整数オブジェクト - Bignum - Fixnumから自動でキャスト
実数オブジェクト - Float - 実は浮動点少数点数
文字列オブジェクト
ダブルクオート(“)で囲われた場合、エスケープを行う。
シングルクォート(‘)で囲われた場合、エスケープを行わない。
#{variable}のように#{}で変数を囲うと式展開を行い、文字列中に
オブジェクトを埋め込む事ができる。
4. 入出力メソッド
Kernel.#print → 引数を順に表示
Kernel.#puts → 引数を表示して改行
Kernel.#p → 引数を整形して改行と順番に出力
Kernel.#gets → 一行入力
5. 演算子
四則演算 -> +,-,*,/
剰余 -> %, べき乗 -> **
比較演算子 -> ==,!=,>=,=<
6. 変数
擬似変数が存在し、これらは変数名として使用できない。
self, nil, true, false, __FILE__, __LINE__, __ENCODING__
7. if文
if 条件 [then]
[elsif 処理 [then]
処理]
[else
処理]
end
8. 真と偽
偽は falseとnil
真は falseとnil以外
8. case文
case [式]
[when 式 [, 式] ...[, `*' 式] [then] 式..]..
[when `*' 式 [then] 式..]..
[else 式..]
end
9. while文
while 式 [do]
...
end
10. timesメソッド
一定回数繰り返すためのメソッド
回数.times do |変数|
処理
end
回数.times {|変数|
処理
}
どちらも変数は省略可能。
11. Array
Rubyの配列はメモリが動的に確保され、GCによって開放される。
空の配列の作成 -> []
配列の生成 -> [1,2,3]
配列のサイズ -> [1,2,3].size #=> 3
おつかれさまでした!

Weitere ähnliche Inhalte

Was ist angesagt?

Blenderソースコードリーディング
BlenderソースコードリーディングBlenderソースコードリーディング
BlenderソースコードリーディングTetsuo Mitsuda
 
JavaScript経験者のためのGo言語入門
JavaScript経験者のためのGo言語入門JavaScript経験者のためのGo言語入門
JavaScript経験者のためのGo言語入門Shohei Arai
 
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Mrubyについて   第16回 岡山ruby, ruby on rails勉強会Mrubyについて   第16回 岡山ruby, ruby on rails勉強会
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会Masaya Konishi
 
method_missingの紹介(2013 3Qカジュアル勉強会資料)
method_missingの紹介(2013 3Qカジュアル勉強会資料)method_missingの紹介(2013 3Qカジュアル勉強会資料)
method_missingの紹介(2013 3Qカジュアル勉強会資料)Shinichirou Nakamura
 
ぼくたちRubyプログラミング少年団!~小・中学生向けプログラミング言語Rubyの学習塾の運営、学習教材の開発・販売事業~
ぼくたちRubyプログラミング少年団!~小・中学生向けプログラミング言語Rubyの学習塾の運営、学習教材の開発・販売事業~ぼくたちRubyプログラミング少年団!~小・中学生向けプログラミング言語Rubyの学習塾の運営、学習教材の開発・販売事業~
ぼくたちRubyプログラミング少年団!~小・中学生向けプログラミング言語Rubyの学習塾の運営、学習教材の開発・販売事業~宏治 高尾
 
運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方Yuki Ishikawa
 
Harajuku.rb ( !rubykaigi in rubykaigi2011 )
Harajuku.rb ( !rubykaigi in rubykaigi2011 )Harajuku.rb ( !rubykaigi in rubykaigi2011 )
Harajuku.rb ( !rubykaigi in rubykaigi2011 )masaki yamada
 
Rubyのオブジェクト図をもう一度
Rubyのオブジェクト図をもう一度Rubyのオブジェクト図をもう一度
Rubyのオブジェクト図をもう一度ionis111
 
Bacon.jsではじめる関数型リアアクティブプログラミング入門 with ES6
Bacon.jsではじめる関数型リアアクティブプログラミング入門 with ES6Bacon.jsではじめる関数型リアアクティブプログラミング入門 with ES6
Bacon.jsではじめる関数型リアアクティブプログラミング入門 with ES6Haraguchi Go
 
メタプログラミングってなに?
メタプログラミングってなに?メタプログラミングってなに?
メタプログラミングってなに?KazukiWata
 
RubyConfの話の続きのおはなし
RubyConfの話の続きのおはなしRubyConfの話の続きのおはなし
RubyConfの話の続きのおはなしyamanekko
 
Aizu Security Workshop #1
Aizu Security Workshop #1Aizu Security Workshop #1
Aizu Security Workshop #1Yukiya Nakagawa
 
201905 のの会@関数Talk 12th
201905  のの会@関数Talk 12th201905  のの会@関数Talk 12th
201905 のの会@関数Talk 12thSatoru Abe
 

Was ist angesagt? (14)

Blenderソースコードリーディング
BlenderソースコードリーディングBlenderソースコードリーディング
Blenderソースコードリーディング
 
JavaScript経験者のためのGo言語入門
JavaScript経験者のためのGo言語入門JavaScript経験者のためのGo言語入門
JavaScript経験者のためのGo言語入門
 
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
Mrubyについて   第16回 岡山ruby, ruby on rails勉強会Mrubyについて   第16回 岡山ruby, ruby on rails勉強会
Mrubyについて 第16回 岡山ruby, ruby on rails勉強会
 
method_missingの紹介(2013 3Qカジュアル勉強会資料)
method_missingの紹介(2013 3Qカジュアル勉強会資料)method_missingの紹介(2013 3Qカジュアル勉強会資料)
method_missingの紹介(2013 3Qカジュアル勉強会資料)
 
ぼくたちRubyプログラミング少年団!~小・中学生向けプログラミング言語Rubyの学習塾の運営、学習教材の開発・販売事業~
ぼくたちRubyプログラミング少年団!~小・中学生向けプログラミング言語Rubyの学習塾の運営、学習教材の開発・販売事業~ぼくたちRubyプログラミング少年団!~小・中学生向けプログラミング言語Rubyの学習塾の運営、学習教材の開発・販売事業~
ぼくたちRubyプログラミング少年団!~小・中学生向けプログラミング言語Rubyの学習塾の運営、学習教材の開発・販売事業~
 
運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方運用で爆発四散しないためのメタプログラミングとの付き合い方
運用で爆発四散しないためのメタプログラミングとの付き合い方
 
Harajuku.rb ( !rubykaigi in rubykaigi2011 )
Harajuku.rb ( !rubykaigi in rubykaigi2011 )Harajuku.rb ( !rubykaigi in rubykaigi2011 )
Harajuku.rb ( !rubykaigi in rubykaigi2011 )
 
簡単!Groovy入門
簡単!Groovy入門簡単!Groovy入門
簡単!Groovy入門
 
Rubyのオブジェクト図をもう一度
Rubyのオブジェクト図をもう一度Rubyのオブジェクト図をもう一度
Rubyのオブジェクト図をもう一度
 
Bacon.jsではじめる関数型リアアクティブプログラミング入門 with ES6
Bacon.jsではじめる関数型リアアクティブプログラミング入門 with ES6Bacon.jsではじめる関数型リアアクティブプログラミング入門 with ES6
Bacon.jsではじめる関数型リアアクティブプログラミング入門 with ES6
 
メタプログラミングってなに?
メタプログラミングってなに?メタプログラミングってなに?
メタプログラミングってなに?
 
RubyConfの話の続きのおはなし
RubyConfの話の続きのおはなしRubyConfの話の続きのおはなし
RubyConfの話の続きのおはなし
 
Aizu Security Workshop #1
Aizu Security Workshop #1Aizu Security Workshop #1
Aizu Security Workshop #1
 
201905 のの会@関数Talk 12th
201905  のの会@関数Talk 12th201905  のの会@関数Talk 12th
201905 のの会@関数Talk 12th
 

Andere mochten auch

CoClus ICDM Workshop talk
CoClus ICDM Workshop talkCoClus ICDM Workshop talk
CoClus ICDM Workshop talkDmitrii Ignatov
 
Orpailleur -- triclustering talk
Orpailleur -- triclustering talkOrpailleur -- triclustering talk
Orpailleur -- triclustering talkDmitrii Ignatov
 
001 dg0511 intro.indd
001 dg0511 intro.indd001 dg0511 intro.indd
001 dg0511 intro.inddtaghayyor
 
Encore xmas brochure 2014
Encore xmas brochure 2014Encore xmas brochure 2014
Encore xmas brochure 2014Denis Koba
 
Online Recommender System for Radio Station Hosting: Experimental Results Rev...
Online Recommender System for Radio Station Hosting: Experimental Results Rev...Online Recommender System for Radio Station Hosting: Experimental Results Rev...
Online Recommender System for Radio Station Hosting: Experimental Results Rev...Dmitrii Ignatov
 

Andere mochten auch (8)

CoClus ICDM Workshop talk
CoClus ICDM Workshop talkCoClus ICDM Workshop talk
CoClus ICDM Workshop talk
 
Orpailleur -- triclustering talk
Orpailleur -- triclustering talkOrpailleur -- triclustering talk
Orpailleur -- triclustering talk
 
Pseudo-triclustering
Pseudo-triclusteringPseudo-triclustering
Pseudo-triclustering
 
001 dg0511 intro.indd
001 dg0511 intro.indd001 dg0511 intro.indd
001 dg0511 intro.indd
 
Encore xmas brochure 2014
Encore xmas brochure 2014Encore xmas brochure 2014
Encore xmas brochure 2014
 
Clase 1 Coaching Poliglota
Clase 1 Coaching PoliglotaClase 1 Coaching Poliglota
Clase 1 Coaching Poliglota
 
Poliglota1 pdf
Poliglota1 pdfPoliglota1 pdf
Poliglota1 pdf
 
Online Recommender System for Radio Station Hosting: Experimental Results Rev...
Online Recommender System for Radio Station Hosting: Experimental Results Rev...Online Recommender System for Radio Station Hosting: Experimental Results Rev...
Online Recommender System for Radio Station Hosting: Experimental Results Rev...
 

Students.rb #1 資料