Submit Search
Ruby初級者向けレッスン 53回 ─── Array と Hash
0 likes
433 views
higaki
第67回 Ruby関西 勉強会 @ 京都女子大学 でのスライド
Technology
Read more
1 of 32
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
More Related Content
PPTX
R6パッケージの紹介―機能と実装
__nakamichi__
PDF
リストモナドを作ってみた
Atsushi Kanehara
PDF
R6 classes
hiroki84
PDF
Python勉強会3-コレクションとファイル
理 小林
PDF
FNA provime pranuese teste
Arton Feta
PDF
拡張ライブラリ作成による高速化
Kazunori Jo
PDF
R入門(dplyrでデータ加工)-TokyoR42
Atsushi Hayakawa
PDF
Consistent hash
paulowniaceae
R6パッケージの紹介―機能と実装
__nakamichi__
リストモナドを作ってみた
Atsushi Kanehara
R6 classes
hiroki84
Python勉強会3-コレクションとファイル
理 小林
FNA provime pranuese teste
Arton Feta
拡張ライブラリ作成による高速化
Kazunori Jo
R入門(dplyrでデータ加工)-TokyoR42
Atsushi Hayakawa
Consistent hash
paulowniaceae
What's hot
(14)
PPTX
Ext.Directについて
Yuki Naotori
PDF
入門機械学習1,2章
Kazufumi Ohkawa
PDF
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
Satoshi Yamada
PPTX
R -> Python
Kazufumi Ohkawa
PDF
Tokyor36
TokorosawaYoshio
PDF
20170923 excelユーザーのためのr入門
Takashi Kitano
PDF
RailsエンジニアのためのSQLチューニング速習会
Nao Minami
PDF
Haskell勉強会 14.1〜14.3 の説明資料
Etsuji Nakai
PDF
[東京] JapanSharePointGroup 勉強会 #2
Atsuo Yamasaki
PPTX
自然言語処理10本ノックで比較する java と kotlin
Takumi Kadowaki
PDF
KMC JavaScriptから始めるプログラミング2016 第一回
kyoto university
PDF
wakuwaku Scala ~Scala入門勉強会~ 資料
Mizuki Yamanaka
PPTX
入門機械学習6章
Kazufumi Ohkawa
PDF
すごいHaskell読書会 in 大阪 2週目 #5 第5章:高階関数 (2)
Yoichi Nakayama
Ext.Directについて
Yuki Naotori
入門機械学習1,2章
Kazufumi Ohkawa
PythonでテキストをJSONにした話(PyCon mini sapporo 2015)
Satoshi Yamada
R -> Python
Kazufumi Ohkawa
Tokyor36
TokorosawaYoshio
20170923 excelユーザーのためのr入門
Takashi Kitano
RailsエンジニアのためのSQLチューニング速習会
Nao Minami
Haskell勉強会 14.1〜14.3 の説明資料
Etsuji Nakai
[東京] JapanSharePointGroup 勉強会 #2
Atsuo Yamasaki
自然言語処理10本ノックで比較する java と kotlin
Takumi Kadowaki
KMC JavaScriptから始めるプログラミング2016 第一回
kyoto university
wakuwaku Scala ~Scala入門勉強会~ 資料
Mizuki Yamanaka
入門機械学習6章
Kazufumi Ohkawa
すごいHaskell読書会 in 大阪 2週目 #5 第5章:高階関数 (2)
Yoichi Nakayama
Ad
Viewers also liked
(14)
PDF
GIB2015_Instruments for Increasing Capital Flows_Alexander
Global Infrastructure Basel Foundation
PDF
Презентация ООО "Франчайзинг Интеллект"
Эстиматика Наука Об Оценке
PDF
04 sistem rujukan berjenjang
hodijahkamil
PDF
Metro Manila Office Briefing (Q1 2015)
KMC Savills, Inc.
PDF
INFORMATICA Training, Online INFORMATICA Training
Srinivas - SAP Consultant
PDF
Jennifer_CV_PORTFOLIO_2015
What my Coffee says to me
PPTX
Prezentacja maciej grzmielewski
SirDeav
PPT
Tugas presentasi-hukbis-koperasifinished
Eko Kuntarto
DOCX
Pemimpin Otoriter
Zulaika Nur Afifah
PDF
GIB2015_Instruments for Increasing Capital Flows_Fischer
Global Infrastructure Basel Foundation
PDF
Registrazione Angelica
Luigi Angelo Delucchi
PPTX
Virginio B. Sala - Testo e testualità la scrittura per l’editoria digitale
Center for Generative Communication
PDF
Shahar Cohen CV (EN)
Shahar Cohen
DOCX
Drashyam K Parakh resume
Drashyam K Parakh
GIB2015_Instruments for Increasing Capital Flows_Alexander
Global Infrastructure Basel Foundation
Презентация ООО "Франчайзинг Интеллект"
Эстиматика Наука Об Оценке
04 sistem rujukan berjenjang
hodijahkamil
Metro Manila Office Briefing (Q1 2015)
KMC Savills, Inc.
INFORMATICA Training, Online INFORMATICA Training
Srinivas - SAP Consultant
Jennifer_CV_PORTFOLIO_2015
What my Coffee says to me
Prezentacja maciej grzmielewski
SirDeav
Tugas presentasi-hukbis-koperasifinished
Eko Kuntarto
Pemimpin Otoriter
Zulaika Nur Afifah
GIB2015_Instruments for Increasing Capital Flows_Fischer
Global Infrastructure Basel Foundation
Registrazione Angelica
Luigi Angelo Delucchi
Virginio B. Sala - Testo e testualità la scrittura per l’editoria digitale
Center for Generative Communication
Shahar Cohen CV (EN)
Shahar Cohen
Drashyam K Parakh resume
Drashyam K Parakh
Ad
Similar to Ruby初級者向けレッスン 53回 ─── Array と Hash
(16)
PDF
すごいHaskell読書会#1 in 大阪
yashigani
PDF
10分で分かるr言語入門ver2.9 14 0920
Nobuaki Oshiro
PPTX
Effective python #5, #6
bontakun
KEY
Ruby with Hash
Jun Yokoyama
ODP
第2回R勉強会1
Paweł Rusin
PDF
Rで学ぶデータマイニングI 第8章〜第13章
Prunus 1350
PDF
10分で分かるr言語入門ver2.10 14 1101
Nobuaki Oshiro
PDF
Ruby初級者向けレッスン 56回 ─── ブロック
higaki
PDF
R language definition3.1_3.2
Yoshiteru Kamiyama
PDF
純LISPから考える関数型言語のプリミティブ: Clojure, Elixir, Haskell, Scala
Kent Ohashi
PPT
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
Haruka Ozaki
PDF
R Language Definition 2.2 to 2.3
Kohta Ishikawa
PDF
Pythonで始めるDropboxAPI
Daisuke Igarashi
PPT
日本語形態素解析
Yoshihiro Shimoji
PDF
Introduction of aws-cli
Masaaki HIROSE
PPTX
JavaScriptクイックスタート
Shumpei Shiraishi
すごいHaskell読書会#1 in 大阪
yashigani
10分で分かるr言語入門ver2.9 14 0920
Nobuaki Oshiro
Effective python #5, #6
bontakun
Ruby with Hash
Jun Yokoyama
第2回R勉強会1
Paweł Rusin
Rで学ぶデータマイニングI 第8章〜第13章
Prunus 1350
10分で分かるr言語入門ver2.10 14 1101
Nobuaki Oshiro
Ruby初級者向けレッスン 56回 ─── ブロック
higaki
R language definition3.1_3.2
Yoshiteru Kamiyama
純LISPから考える関数型言語のプリミティブ: Clojure, Elixir, Haskell, Scala
Kent Ohashi
12-11-30 Kashiwa.R #5 初めてのR Rを始める前に知っておきたい10のこと
Haruka Ozaki
R Language Definition 2.2 to 2.3
Kohta Ishikawa
Pythonで始めるDropboxAPI
Daisuke Igarashi
日本語形態素解析
Yoshihiro Shimoji
Introduction of aws-cli
Masaaki HIROSE
JavaScriptクイックスタート
Shumpei Shiraishi
More from higaki
(13)
PDF
Ruby初級者向けレッスン KOF2015 出張版
higaki
PDF
Ruby初級者向けレッスン 55回 ─── 例外
higaki
PDF
Ruby初級者向けレッスン 54回 ─── クラス
higaki
PDF
初級者向けレッスン 52回 ─── 文字列
higaki
PDF
初級者向けレッスン 51回 ─── 例外
higaki
PDF
Ruby初級者向けレッスン 50回 ─── ブロック
higaki
PDF
PHPer のための Ruby 教室
higaki
PDF
Ruby 初級者向けレッスン 49回───クラス
higaki
PDF
Ruby初級者向けレッスン 48回 ─── Array と Hash
higaki
PDF
Ruby初級者向けレッスン 47回 ─── 文字列
higaki
PDF
Ruby初級者向けレッスン 第46回 ─── Test::Unit
higaki
PDF
ジュンク堂書店の方から来ました
higaki
PDF
Ruby初級者向けレッスン 45回 ─── 例外
higaki
Ruby初級者向けレッスン KOF2015 出張版
higaki
Ruby初級者向けレッスン 55回 ─── 例外
higaki
Ruby初級者向けレッスン 54回 ─── クラス
higaki
初級者向けレッスン 52回 ─── 文字列
higaki
初級者向けレッスン 51回 ─── 例外
higaki
Ruby初級者向けレッスン 50回 ─── ブロック
higaki
PHPer のための Ruby 教室
higaki
Ruby 初級者向けレッスン 49回───クラス
higaki
Ruby初級者向けレッスン 48回 ─── Array と Hash
higaki
Ruby初級者向けレッスン 47回 ─── 文字列
higaki
Ruby初級者向けレッスン 第46回 ─── Test::Unit
higaki
ジュンク堂書店の方から来ました
higaki
Ruby初級者向けレッスン 45回 ─── 例外
higaki
Ruby初級者向けレッスン 53回 ─── Array と Hash
1.
2015年6月13日 Ruby初級者向けレッスン 53回 — Array
と Hash — ひがき @ Ruby関西
2.
Array と Hash •
Array とは • Hash とは • 繰り返し • オブジェクトのコピー
3.
Array とは • 配列クラス •
任意のオブジェクトを持つことができる [1, 1, 2, 3] [1, "2nd", [3, "3"], 4.0, :five]
4.
値へのアクセス a = ["a",
"b", "c", "d", "e"] a[0] # => "a" a[1] # => "b" a[-1] # => "e" a[1] = "B" a[3, 2] # => ["d", "e"] a[1..-2] # => ["B", "c", "d"] a[5] # => nil
5.
Array オブジェクトの作り方 ["a", "b",
"c"] # => ["a", "b", "c"] ("a".."c").to_a # => ["a", "b", "c"] [*"a".."c"] # => ["a", "b", "c"] %w[a b c] # => ["a", "b", "c"] %i[a b c] # => [:a, :b, :c]
6.
Array の初期化 Array.new(3) #
=> [nil, nil, nil] Array.new(3){0} # => [0, 0, 0] Array.new(3){|i| i.to_s} # => ["0", "1", "2"]
7.
簡単な Array 操作 a
= [1, 1] + [2, 3] # => [1, 1, 2, 3] a << 5 # => [1, 1, 2, 3, 5] a << 8 # => [1, 1, 2, 3, 5, 8] a = a - [3, 1] # => [2, 5, 8] a = a * 2 # => [2, 5, 8, 2, 5, 8] a.sort # => [2, 2, 5, 5, 8, 8]
8.
String から Array
へ "Ruby関西".chars # => ["R", "u", "b", "y", "関", "西"] "Ruby 関西".scan(/p{Word}+/) # => ["Ruby", "関西"] "1,1,2,3,5,8".split(/,/) # => ["1", "1", "2", "3", "5", "8"]
9.
Array から String
へ [1, 1, 2, 3].to_s # => "[1, 1, 2, 3]" ["matz", 50, "dhh", 35].join(’,’) # => "matz,50,dhh,35" "%s(%d)" % ["matz", 50] # => "matz(50)"
10.
Hash とは • 連想配列クラス •
任意のオブジェクトを持つことができる • 任意のオブジェクトをキーにできる {0 => "one", "2" => 3, [4, "4"] => :five} {:AAPL=>566.71, :GOOG=>605.23} {AAPL: 566.71, GOOG: 605.23} # => {:AAPL=>566.71, :GOOG=>605.23}
11.
値へのアクセス h = {:AAPL=>566.71,
:GOOG=>605.23} h[:AAPL] # => 566.71 h[:MSFT] = 31.16 h[:FB] # => nil
12.
Hash のデフォルト値 sum =
Hash.new{|h, k| h[k] = 0} sum # => {} sum[:FB] # => 0 sum[:TWTR] += 1 sum # => {:FB=>0, :TWTR=>1}
13.
簡単な Hash 操作 {a:
1, b: 2}.keys # => [:a, :b] {a: 1, b: 2}.values # => [1, 2] {a: 1, b: 2}.merge({c: 3}) # => {:a=>1, :b=>2, :c=>3} {a: 1, b: 2}.merge({a: 0}) # => {:a=>0, :b=>2}
14.
Hash から Array
へ {matz: 50, dhh: 35}.to_a # => [[:matz, 50], [:dhh, 35]] [[:matz, 50], [:dhh, 35]].to_h # => {:matz=>50, :dhh=>35}
15.
Array から Hash
へ a = [:matz, 50, :dhh, 35] Hash[*a] # => {:matz=>50, :dhh=>35}
16.
繰り返し each ["a", "b",
"c"].each{|i| puts i} ["a", "b", "c"].each do |i| puts i end # >> a # >> b # >> c
17.
繰り返し Enumerable • 繰り返しを行なうクラスのための
Mix-in • クラスには each メソッドが必要 Array.ancestors # => [Array, Enumerable, Object, Kerne Hash.ancestors # => [Hash, Enumerable, Object, Kernel
18.
繰り返し Enumerable (2) a
= [1, 2, 3, 5] a.map{|i| i * i} # => [1, 4, 9, 25] a.select{|i| i.odd?} # => [1, 3, 5] a.inject{|s, i| s + i} # => 11 a.find{|i| i.odd?} # => 1 a.all?{|i| i.even?} # => false a.any?{|i| i.even?} # => true
19.
inject a = [1,
2, 3, 5] a.inject do |s, i| s # => 1, 3, 6 i # => 2, 3, 5 s + i # => 3, 6, 11 end
20.
Array のコピー a =
[1, 2, 3] b = a # => [1, 2, 3] a[0] = 0 a # => [0, 2, 3] b # => [0, 2, 3]
21.
Array のコピー (2) a
= [1, 2, 3] a 0 1 2 1 2 3 E c dd‚ b = a b a[0] = 0 0 c
22.
Array のコピー (3) a
= [a, b, c] b = a.clone # = [a, b, c] a[0] = A a # = [A, b, c] b # = [a, b, c]
23.
Array のコピー (4) a
= [a, b, c] b = a.clone # = [a, b, c] a[1].upcase! a # = [a, B, c] b # = [a, B, c]
24.
Array のコピー (5) a
= [a, b, c] b = a.clone a[0] = A a[1].upcase! a 0 1 2 a B c E c dd‚ b 0 1 2E dds T A T
25.
演習問題 0 今日のレッスンで分からなかったこと、疑問に 思ったことをグループで話し合ってみよう。
26.
演習問題 1 map を使わずに
Array のそれぞれの要素を 2倍 した新しい Array を作ってみよう。 a = [1, 2, 3, 5] result = [] a.each do |i| ... result # = [2, 4, 6, 10]
27.
演習問題 2 select を使わずに
Array から奇数の要素だけ を抽出してみよう。 a = [1, 2, 3, 5] result = [] a.each do |i| ... result # = [1, 3, 5]
28.
演習問題 3 inject を使わずに
Array の要素を合計してみ よう。 a = [1, 2, 3, 5] result = 0 a.each do |i| ... result # = 11
29.
演習問題 4 • Enumerable#map
を使ってArray の各要素を 2倍してみよう。 • Enumerable#select を使ってArray から奇 数の要素だけを抽出してみよう。 • Enumerable#inject を使って Arrayの要素 を合計してみよう。 a = [1, 2, 3, 5] a.map ...
30.
演習問題 5 与えられた文字列から • 単語の出現回数 •
文字の出現回数 を数えてみよう。
31.
自己紹介 • 名前 (ニックネーム) •
普段の仕事・研究内容・代表作 • Ruby歴・コンピュータ歴 • 勉強会に来た目的 • などなど
32.
参考 • 公式サイト https://www.ruby-lang.org/ • るりま http://docs.ruby-lang.org/ja/ •
解答例 https://github.com/higaki/ learn ruby kansai 67
Download