SlideShare une entreprise Scribd logo
1  sur  37
Télécharger pour lire hors ligne
Ruby勉強輪講
第1回 第2章の解説
目次

• Rubyとは?

•   字句構造
•   構文構造
•   ファイル構造
•   エンコーディング
•   プログラムの実行
Rubyとは!?
• 日本で開発されたプログラミング言語

• Rubyはオブジェクト指向言語

• 利用した多くのプログラマが、エレガントで楽
  しいと評価
第2章 Rubyプログラムの構造と実行
• 字句構造

• 構文構造

• ファイル構造

• プログラムのエンコーディング

• プログラムの実行
1 字句構造
• Rubyは単語や記号を順番に読んでプログラムを
  解析する


• ここでは、その単語とか記号についての説明を
  する

• コメント、リテラル、記号類、識別子、キー
  ワード
コメントと埋め込みドキュメント
• #を書いたら、その行の終わりまでがコメント
  になる

• 埋め込みドキュメントは、=beginと=endで挟み
  こんだ部分がコメントになる

• 行頭に書かないと効果なし

• 使わないソースコードを隠すのに便利
print("Hello worldn") # ()は省略できる



# 使用文字コードがUTF-8(Bomなし)なら、これで日本語が使える
require "kconv"
#putsは改行付きのprint
puts(Kconv.tosjis("日本語テスト")) # 日本語テスト

########## 1 コメントについて ##########
# #を書けば、そこから先はコメント
i = "#これはコメントじゃない…"
puts(Kconv.tosjis(i)) # ()を省略すると 単語と合体するので省略でき
   ない
########## 2 =beginと=endについて ##########
=begin ここはコメント
この間もコメント
=end これもコメント

=begin
puts(Kconv.tosjis("わんこn「これで隠したいソースコードが隠せる
  わん」"))
puts(Kconv.tosjis("にゃんこn「それじゃあにゃんこ達のこの会話も
  隠れてるのかにゃ?」"))
puts(Kconv.tosjis("わんこn「そういうことになるわん…」"))
=end

# =begin 機能していない=beginと=end
print("ruby and sapphire and emeraldn")
# =end
ドキュメント用コメント
• Rubyプログラムは、メソッド、クラス、モ
  ジュールの定義の前に特別な形式のコメントを
  入れることで、APIドキュメントを組み込むこ
  とができる

• 各行の先端が、#になっている複数行コメント
  の形式で書かれるのと、=begin rdocを先頭とす
  る埋め込みドキュメントとして書くこともでき
  る
=begin rdoc


rdoc用コメントは、wikiのものと似た単純なマークアップ文法を使っている


段落は空行で分割する


= 見出し


見出しの先頭は = 記号


== 小見出し
上の行は小見出しを作る
=== さらに小さい見出し
さらに下のレベルの小見出しを作る(以下同様)


= 例示


 コードフォントでインデントされた行がそのまま表示される
  しかし見出しとリストをインデントしないように注意


= リストとフォント


リストの項目の先端は*か- フォントは記号かHTMLで示す
* _斜体_または<i>複数語の斜体</i>
* *太字*または<b>複数語の太字</b>
* +コード+または<tt>複数語のコード</tt>


1. 番号付きリストの先端は数字
99. 数字はいつでもよく、連番である必要はない
1. リストをネストすることはできない


項目リストの項目は角かっこで囲む
[項目 1] 項目1の説明
[項目 2] 項目2の説明
=end
リテラル
• Rubyソースコードに現れる値のこと

• 数値、文字列、正規表現の3種類ある

• 詳しくは3章で説明
########## 3 リテラルについて ##########
# この下の例を見て、雰囲気だけ感じておこう
1     #整数のリテラル
0.1    #小数点リテラル
'one' #文字列リテラル
"two" #別の種類の文字列リテラル
/three/ #正規表現リテラル
記号類
• Rubyは、記号類をいろんな目的のために使って
  いる

• 毎度おなじみの、加算の+とか、乗算の*とか、
  論理和の||とか、ほとんどの演算子には、記号
  を使っている

• 次の演算子表は、優先度の高いから低い順
演算子                     項数   結合性   再定義   演算
!~+                     1    右     ○     論理NOT ビット単位補数 単項プラス
**                      2    右     ○     指数
-                       1    右     ○     単項マイナス
*/%                     2    左     ○     乗算 除算 剰余
+-                      2    左     ○     加算 減算
<< >>                   2    左     ○     ビット単位左シフト ビット単位右シフト
&                       2    左     ○     ビット単位AND
|^                      2    左     ○     ビット単位OR ビット単位XOR
< <= >= >               2    左     ○     順序
== === != =~ <=>        2    無     ○     等値 パターンマッチ 比較
&&                      2    左     ×     論理AND
||                      2    左     ×     論理OR
・・ ・・・                  2    無     ×     範囲作成および論理フリップフロップ
?:                      3    右     ×     条件
rescue                  2    左     ×     例外処理修飾子
=                       2    右     ×     代入
**= *= /= %= += -=
<<= >>=
&&= &= ||= ^=
defined?                1    無     ×     変数定義と型のテスト
not                     1    右     ×     論理NOT(低優先順位)
and or                  2    左     ×     論理AND 論理OR(低優先順位)
if unless while until   2    無     ×     条件分枝 繰り返し修飾子
識別子
• 識別子とは名前のこと

• 変数、メソッド、クラスなどに名前を与えるた
  めに識別子を使っている

• 英数字や_(アンダースコア)で構成される
########## 5 識別子について ##########
# 英数字(数字を一番前にしたらだめ)か_(アンダースコア)で構成さ
  れる
# 空白や印字不能文字は使えない
# AからZの大文字になっている識別子は、定数である
i=0         #forループとかでよく使用
j=0         #二重forループとかでよく使用
z2 = 0       #zを既に識別子として使っているときによく使用
okane = 315     #お金の数値を入れたいときに使用するかも
_namae = "ada" #アンダースコアが先頭の識別子
PI =3.14      #大文字だから定数
PI = 3.00     #定数を変更しようとすると警告がでる(エラーではな
  い)
キーワード
• Rubyには、ifとかforのように、特別な意味をも
  つキーワードがある
########## 6 キーワードについて ##########
特別扱いされるキーワードたち
__LINE__ case ensure not then
__ENCODING__ class false or true
__FILE__ def for redo undef
BEGIN defined? if rescue unless
END do in retry until
alias else module return when
and elsif next self while
begin end nil super yield

行頭に含まれている場合のみ特別扱いするキーワード
に近いトークン
=begin =end __END__
空白と改行
• 空白はほとんどの場合は無視され、プログラム
  を見やすくするために使われる
• ただ、すべての空白が無視されるわけではない
  ことを、知っておこう

• 一行に複数の文を入れる場合を除いて、セミコ
  ロン(;)は書く必要が無い
• また、一行で文が完全じゃない場合、次の行も
  解析を続ける
########## 7 空白と改行 ##########
v=1+2+3+4+5+6+7+8+9+10 # 空白のないぎゅうぎゅう文
v = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 # 空白のあるスカスカ文 結
  果は同じ

x1 = 1 + #文が未完結
1
x2 = 1 #文が完結
+1
print("x1 = ");puts(x1);print("x2 = ");puts(x2)
2 構文構造
• Rubyの基本単位は式で、それを評価して値を生
  成する

• 簡単な式は、値を直接表現するもの

• trueやfalseなど、一部のキーワードも式

• 変数参照も式で、評価結果は変数の値になる
########## 8 構文構造について ##########
#リテラルは式だそうだ
#複雑な値が書けるリテラル
[1,2,3]     # 配列リテラル
{1=>"one",2=>"two"} # ハッシュリテラル
1..3       # 範囲リテラル

#式の見本
1     # 値が直接表現された式
x     # これも式
x = 1 # 代入式
x = x + 1 # 2つの演算を含む式
# 以下の文も、専門的にいえば式です
print(Kconv.tosjis"whileテスト")
x = 0 # 初期化
while x < 10 do          # この式がtrueである間は 以下の文を実行
 if x == 5 then           # この式がtrueなら
   print(Kconv.tosjis"ifテスト")   # この文を実行せよ
 end                  # 条件分木の終了
 print(x)              # この文を実行
 x += 1                # この文も実行
end                 # 繰り返しの終了
print"n"
# これらの文も、専門的にいえば式です
Rubyのブロック構造
• Rubyはブロックコードをもっている

• ブロックコードはキーワードや記号で区切られ
  ている
########## 9 ブロック構造について ##########
3.times { print(Kconv.tosjis“はい…”) } # 中かっこで囲んだ場合

print"n"           # 改行

3.times do         # do endで囲んだ場合
 print(Kconv.tosjis"はい…")
end

print"n" # 改行

1.upto(10) do |x|
 print x
end

# ブロックには、正式にブロックと呼ばれるものと、本体と呼ばれるも
  のがある
# 本体は、クラス定義、メソッド定義、whileループなどの内容を構成す
  る文のリストにすぎない
# Rubyでは、本体は中かっこで囲まれない
#図式的な例
module Stats                 # モジュール
 class Dataset               # モジュール内のクラス
  def initialize(filename)      # クラス内のメソッド
   IO.foreach(filename) do |line| # メソッド内のブロック
     if line[0,1] == "#"      # ブロック内のif文
       next              # ifの中の単純な文
     end                 # ifの終わり
   end                   # ブロックの終わり
  end                    # メソッドの終わり
 end                     # クラス本体の終わり
end                      # モジュール本体の終わり
3 ファイル構造
• Rubyコードファイルにどのような構造を与えな
  いといけないかについて、ルールはごくわずか

• このルールは、Rubyのデプロイと関係があるが、
  言語自体とは直接関係ない

• デプロイ=デプロイメント
  ネットワークを通じて提供されるサービスを、
  利用可能な状態にすること
ファイル構造その1
• まず、Unix系OSにRuby実行方法を示
  す”shebang”コメントがついている場合、そのコ
  メントは第1行になければならない

#!/usr/bin/ruby -w   (shebang コメント)
ファイル構造その2
• 第2に、”coding”コメントを含む場合、そのコ
  メントは第1行か第2行になければならない

# -*- coding: utf-8 -*- (coding コメント)
ファイル構造その3
• 第3に、前後に空白のない__END__トークン
  だけを含む行がある場合、その位置でファイル
  の処理を中止する

__END__
#!/usr/bin/ruby -w       (shebang コメント)
# -*- coding: utf-8 -*- (coding コメント)

require 'socket'   #(ネットワークライブラリのロード)

#ここにプログラムコード

__END__
#(コードの終わりを示すマーク)
#これでプログラム終了 以降は実行されない

#プログラムデータ
# IO ストリームオブジェクトDATAを使って読み込むことができる
4 プログラムのエンコーディング
• Rubyの字句解析ルールは、ASCIIキャラクタ
  セットの文字を使って定義されている

• ASCII文字を完全に表現できるエンコーディン
  グであれば、インタープリタはどんなエンコー
  ディングを使っているファイルでも処理できる

• インタープリタ=プログラミング言語で書かれ
  たソースコード
日本語を使うとき
• ファイルがUTF-8を使って書かれている場合、
  コメント、文字列、正規表現には、任意の
  Unicode文字を使える

• ファイルが日本のSJIS、EUCエンコーディング
  を使っている場合には、漢字を含む文字列が使
  える
# 使用文字コードがUTF-8(Bomなし)なら、これで日本語が使える
require "kconv"
#putsは改行付きのprint
puts(Kconv.tosjis("日本語テスト"))
5 プログラムの実行
• Rubyはスクリプト言語

• 文は上から下へと順に実行されるが、制御構造
  で変更でき、いろんな条件に基づいて実行する
  ことができる

• 特別なmainメソッドはない
プログラムの終わり
• 以下の条件のどれかを満たせば、プログラムは
  終了する

• Rubyプログラムを終了させるような文を実行す
  る
• ファイルの末尾に到達する
• __END__トークンの書かれた行を読みだす
おつかれさまでした

Contenu connexe

Tendances

Ruby1.9のfiberのかっこいい使い方
Ruby1.9のfiberのかっこいい使い方Ruby1.9のfiberのかっこいい使い方
Ruby1.9のfiberのかっこいい使い方Kindai University
 
現実(えくせる)と戦う話
現実(えくせる)と戦う話現実(えくせる)と戦う話
現実(えくせる)と戦う話bleis tift
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Rubymitim
 
HiroshimaJUG の 「Java8 Lambda ハンズオン with すごい広島」 を5分で振り返る
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返るHiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
HiroshimaJUG の 「Java8 Lambda ハンズオン with すごい広島」 を5分で振り返るtsudaa
 
Numeric クラスについて
Numeric クラスについて Numeric クラスについて
Numeric クラスについて Tomoya Kawanishi
 
Unity + C#講座①
Unity + C#講座①Unity + C#講座①
Unity + C#講座①Yu Yu
 
2018年度 若手技術者向け講座 リファクタリング
2018年度 若手技術者向け講座 リファクタリング2018年度 若手技術者向け講座 リファクタリング
2018年度 若手技術者向け講座 リファクタリングkeki3
 
JavaScript経験者のためのGo言語入門
JavaScript経験者のためのGo言語入門JavaScript経験者のためのGo言語入門
JavaScript経験者のためのGo言語入門Shohei Arai
 
C言語ポインタ講座 (Lecture of Pointer in C)
C言語ポインタ講座 (Lecture of Pointer in C)C言語ポインタ講座 (Lecture of Pointer in C)
C言語ポインタ講座 (Lecture of Pointer in C)kakira9618
 
LINQ を使ったナンプレの解法を作ったお話
LINQ を使ったナンプレの解法を作ったお話LINQ を使ったナンプレの解法を作ったお話
LINQ を使ったナンプレの解法を作ったお話Fumihito Yokoyama
 
Define and expansion of cpp macro
Define and expansion of cpp macroDefine and expansion of cpp macro
Define and expansion of cpp macrodigitalghost
 
.NET系開発者から見たJava
.NET系開発者から見たJava.NET系開発者から見たJava
.NET系開発者から見たJavableis tift
 
Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]Ra Zon
 
まだSwiftで消耗してるの?
まだSwiftで消耗してるの?まだSwiftで消耗してるの?
まだSwiftで消耗してるの?今城 善矩
 
F#によるFunctional Programming入門
F#によるFunctional Programming入門F#によるFunctional Programming入門
F#によるFunctional Programming入門bleis tift
 
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)Masahiro Hayashi
 
闇魔術を触ってみた
闇魔術を触ってみた闇魔術を触ってみた
闇魔術を触ってみたSatoshi Sato
 
JSX / Haxe / TypeScript
JSX / Haxe / TypeScriptJSX / Haxe / TypeScript
JSX / Haxe / TypeScriptbleis tift
 

Tendances (19)

C++14言語編
C++14言語編C++14言語編
C++14言語編
 
Ruby1.9のfiberのかっこいい使い方
Ruby1.9のfiberのかっこいい使い方Ruby1.9のfiberのかっこいい使い方
Ruby1.9のfiberのかっこいい使い方
 
現実(えくせる)と戦う話
現実(えくせる)と戦う話現実(えくせる)と戦う話
現実(えくせる)と戦う話
 
Start!! Ruby
Start!! RubyStart!! Ruby
Start!! Ruby
 
HiroshimaJUG の 「Java8 Lambda ハンズオン with すごい広島」 を5分で振り返る
HiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返るHiroshimaJUG の「Java8 Lambda ハンズオン with すごい広島」を5分で振り返る
HiroshimaJUG の 「Java8 Lambda ハンズオン with すごい広島」 を5分で振り返る
 
Numeric クラスについて
Numeric クラスについて Numeric クラスについて
Numeric クラスについて
 
Unity + C#講座①
Unity + C#講座①Unity + C#講座①
Unity + C#講座①
 
2018年度 若手技術者向け講座 リファクタリング
2018年度 若手技術者向け講座 リファクタリング2018年度 若手技術者向け講座 リファクタリング
2018年度 若手技術者向け講座 リファクタリング
 
JavaScript経験者のためのGo言語入門
JavaScript経験者のためのGo言語入門JavaScript経験者のためのGo言語入門
JavaScript経験者のためのGo言語入門
 
C言語ポインタ講座 (Lecture of Pointer in C)
C言語ポインタ講座 (Lecture of Pointer in C)C言語ポインタ講座 (Lecture of Pointer in C)
C言語ポインタ講座 (Lecture of Pointer in C)
 
LINQ を使ったナンプレの解法を作ったお話
LINQ を使ったナンプレの解法を作ったお話LINQ を使ったナンプレの解法を作ったお話
LINQ を使ったナンプレの解法を作ったお話
 
Define and expansion of cpp macro
Define and expansion of cpp macroDefine and expansion of cpp macro
Define and expansion of cpp macro
 
.NET系開発者から見たJava
.NET系開発者から見たJava.NET系開発者から見たJava
.NET系開発者から見たJava
 
Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]Scalaで萌える関数型プログラミング[1.1.RC1]
Scalaで萌える関数型プログラミング[1.1.RC1]
 
まだSwiftで消耗してるの?
まだSwiftで消耗してるの?まだSwiftで消耗してるの?
まだSwiftで消耗してるの?
 
F#によるFunctional Programming入門
F#によるFunctional Programming入門F#によるFunctional Programming入門
F#によるFunctional Programming入門
 
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)
 
闇魔術を触ってみた
闇魔術を触ってみた闇魔術を触ってみた
闇魔術を触ってみた
 
JSX / Haxe / TypeScript
JSX / Haxe / TypeScriptJSX / Haxe / TypeScript
JSX / Haxe / TypeScript
 

En vedette

Geri App Tricks
Geri App TricksGeri App Tricks
Geri App Tricksrsabio
 
FourHands-SX2012
FourHands-SX2012FourHands-SX2012
FourHands-SX2012Nick Miller
 
Introduction of Phonology by Ricardo Chasiquiza
Introduction of Phonology  by Ricardo ChasiquizaIntroduction of Phonology  by Ricardo Chasiquiza
Introduction of Phonology by Ricardo ChasiquizaRicardoChasiquiza
 
Slideshare
SlideshareSlideshare
SlideshareJohaCer
 
สาระที่ 2 หน่วยที่ 6
สาระที่ 2 หน่วยที่ 6  สาระที่ 2 หน่วยที่ 6
สาระที่ 2 หน่วยที่ 6 khomkrit2511
 
สาระที่ 2 หน่วยที่ 8
สาระที่ 2 หน่วยที่ 8  สาระที่ 2 หน่วยที่ 8
สาระที่ 2 หน่วยที่ 8 khomkrit2511
 
สาระที่ 2 หน่วยที่ 7
สาระที่ 2 หน่วยที่ 7  สาระที่ 2 หน่วยที่ 7
สาระที่ 2 หน่วยที่ 7 khomkrit2511
 
สาระที่ 2 หน่วยที่ 9
สาระที่ 2 หน่วยที่ 9  สาระที่ 2 หน่วยที่ 9
สาระที่ 2 หน่วยที่ 9 khomkrit2511
 
2015 CompanyIntroduction-FINAL-July Version
2015 CompanyIntroduction-FINAL-July Version2015 CompanyIntroduction-FINAL-July Version
2015 CompanyIntroduction-FINAL-July VersionKHALID SARDAR
 
Exposición: Estrategias didácticas para favorecer las nociones de geometría
Exposición: Estrategias didácticas para favorecer las nociones de geometríaExposición: Estrategias didácticas para favorecer las nociones de geometría
Exposición: Estrategias didácticas para favorecer las nociones de geometríaAdriana Monserrat García Martíez
 
El copiado de figuras como problema geométrico para los niños. autora, maría ...
El copiado de figuras como problema geométrico para los niños. autora, maría ...El copiado de figuras como problema geométrico para los niños. autora, maría ...
El copiado de figuras como problema geométrico para los niños. autora, maría ...Adriana Monserrat García Martíez
 
Matenimiento de computadores
Matenimiento de computadoresMatenimiento de computadores
Matenimiento de computadoresYenii Restrepo
 
OFC Resume Girdhari
OFC Resume GirdhariOFC Resume Girdhari
OFC Resume GirdhariGirdhari Ram
 

En vedette (20)

Ruby講座一回目
Ruby講座一回目Ruby講座一回目
Ruby講座一回目
 
Gymanisum project
Gymanisum projectGymanisum project
Gymanisum project
 
Geri App Tricks
Geri App TricksGeri App Tricks
Geri App Tricks
 
FourHands-SX2012
FourHands-SX2012FourHands-SX2012
FourHands-SX2012
 
Introduction of Phonology by Ricardo Chasiquiza
Introduction of Phonology  by Ricardo ChasiquizaIntroduction of Phonology  by Ricardo Chasiquiza
Introduction of Phonology by Ricardo Chasiquiza
 
Slideshare
SlideshareSlideshare
Slideshare
 
Origin of math
Origin of mathOrigin of math
Origin of math
 
สาระที่ 2 หน่วยที่ 6
สาระที่ 2 หน่วยที่ 6  สาระที่ 2 หน่วยที่ 6
สาระที่ 2 หน่วยที่ 6
 
สาระที่ 2 หน่วยที่ 8
สาระที่ 2 หน่วยที่ 8  สาระที่ 2 หน่วยที่ 8
สาระที่ 2 หน่วยที่ 8
 
สาระที่ 2 หน่วยที่ 7
สาระที่ 2 หน่วยที่ 7  สาระที่ 2 หน่วยที่ 7
สาระที่ 2 หน่วยที่ 7
 
สาระที่ 2 หน่วยที่ 9
สาระที่ 2 หน่วยที่ 9  สาระที่ 2 หน่วยที่ 9
สาระที่ 2 หน่วยที่ 9
 
The new ipad
The new ipadThe new ipad
The new ipad
 
Apple i phone 4ss
Apple i phone 4ssApple i phone 4ss
Apple i phone 4ss
 
2015 CompanyIntroduction-FINAL-July Version
2015 CompanyIntroduction-FINAL-July Version2015 CompanyIntroduction-FINAL-July Version
2015 CompanyIntroduction-FINAL-July Version
 
Exposición: Estrategias didácticas para favorecer las nociones de geometría
Exposición: Estrategias didácticas para favorecer las nociones de geometríaExposición: Estrategias didácticas para favorecer las nociones de geometría
Exposición: Estrategias didácticas para favorecer las nociones de geometría
 
El copiado de figuras como problema geométrico para los niños. autora, maría ...
El copiado de figuras como problema geométrico para los niños. autora, maría ...El copiado de figuras como problema geométrico para los niños. autora, maría ...
El copiado de figuras como problema geométrico para los niños. autora, maría ...
 
Matenimiento de computadores
Matenimiento de computadoresMatenimiento de computadores
Matenimiento de computadores
 
Digitale Identiaet
Digitale IdentiaetDigitale Identiaet
Digitale Identiaet
 
OFC Resume Girdhari
OFC Resume GirdhariOFC Resume Girdhari
OFC Resume Girdhari
 
Ensayo, experiencias de un alumno a la geometría
Ensayo, experiencias de un alumno a la geometríaEnsayo, experiencias de un alumno a la geometría
Ensayo, experiencias de un alumno a la geometría
 

Similaire à Ruby講座一回目

ソフトウェア工学2023 12 コードフォーマット
ソフトウェア工学2023 12 コードフォーマットソフトウェア工学2023 12 コードフォーマット
ソフトウェア工学2023 12 コードフォーマットToru Tamaki
 
Ruby紹介(pdf)
Ruby紹介(pdf)Ruby紹介(pdf)
Ruby紹介(pdf)Gohryuh
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Ransui Iso
 
Ruby でつくる型付き Ruby
Ruby でつくる型付き RubyRuby でつくる型付き Ruby
Ruby でつくる型付き Rubymametter
 
Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4Sho Shimauchi
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章Tomonobu_Hirano
 
第1回勉強会スライド
第1回勉強会スライド第1回勉強会スライド
第1回勉強会スライドkoturn 0;
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案yushin_hirano
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„和弘 井之上
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2Masao Kato
 
Python勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージPython勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージ理 小林
 
Scalaで学ぶ関数型超入門
Scalaで学ぶ関数型超入門Scalaで学ぶ関数型超入門
Scalaで学ぶ関数型超入門Yuichiro Takahashi
 
名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道Shigeru UCHIYAMA
 
Ruby 3の型推論やってます
Ruby 3の型推論やってますRuby 3の型推論やってます
Ruby 3の型推論やってますmametter
 
Ruby4章後半(演算子)
Ruby4章後半(演算子)Ruby4章後半(演算子)
Ruby4章後半(演算子)Hiroshi Isimaru
 
2012年1月20日
2012年1月20日2012年1月20日
2012年1月20日nukaemon
 
Web本文抽出 using crf
Web本文抽出 using crfWeb本文抽出 using crf
Web本文抽出 using crfShuyo Nakatani
 

Similaire à Ruby講座一回目 (20)

ソフトウェア工学2023 12 コードフォーマット
ソフトウェア工学2023 12 コードフォーマットソフトウェア工学2023 12 コードフォーマット
ソフトウェア工学2023 12 コードフォーマット
 
Ruby4章
Ruby4章Ruby4章
Ruby4章
 
Ruby紹介(pdf)
Ruby紹介(pdf)Ruby紹介(pdf)
Ruby紹介(pdf)
 
Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2Lisp tutorial for Pythonista : Day 2
Lisp tutorial for Pythonista : Day 2
 
Ruby でつくる型付き Ruby
Ruby でつくる型付き RubyRuby でつくる型付き Ruby
Ruby でつくる型付き Ruby
 
Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4Data-Intensive Text Processing with MapReduce ch4
Data-Intensive Text Processing with MapReduce ch4
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
 
第1回勉強会スライド
第1回勉強会スライド第1回勉強会スライド
第1回勉強会スライド
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
 
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
【C++BUILDER STARTER チュートリアルシリーズ】シーズン2 C++Builderの部 第2回 ‟変数と型„
 
Clojure programming-chapter-2
Clojure programming-chapter-2Clojure programming-chapter-2
Clojure programming-chapter-2
 
C言語講習会2
C言語講習会2C言語講習会2
C言語講習会2
 
Python勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージPython勉強会4-制御構文とパッケージ
Python勉強会4-制御構文とパッケージ
 
Scalaで学ぶ関数型超入門
Scalaで学ぶ関数型超入門Scalaで学ぶ関数型超入門
Scalaで学ぶ関数型超入門
 
名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道名古屋Ruby会議02 LT:Ruby中級への道
名古屋Ruby会議02 LT:Ruby中級への道
 
Ruby 3の型推論やってます
Ruby 3の型推論やってますRuby 3の型推論やってます
Ruby 3の型推論やってます
 
Ruby4章後半(演算子)
Ruby4章後半(演算子)Ruby4章後半(演算子)
Ruby4章後半(演算子)
 
2012年1月20日
2012年1月20日2012年1月20日
2012年1月20日
 
Tottoruby 20130119
Tottoruby 20130119Tottoruby 20130119
Tottoruby 20130119
 
Web本文抽出 using crf
Web本文抽出 using crfWeb本文抽出 using crf
Web本文抽出 using crf
 

Ruby講座一回目