Your SlideShare is downloading. ×
Ruby初級者向けレッスン 47回 ─── 文字列
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Ruby初級者向けレッスン 47回 ─── 文字列

452
views

Published on

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
452
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 2014 年 1 月 25 日 Ruby 初級者向けレッスン 47 回 — 文字列 — ひがき @ Ruby 関西
  • 2. 文字列 • • • • • • リテラル エンコーディング 順序 比較 数え上げ 破壊
  • 3. 文字列の作り方 String.new String.new("ruby") # => "" # => "ruby" 1.to_s [1, 2, 3].to_s # => "1" # => "[1, 2, 3]"
  • 4. 文字列リテラル "Ruby 関西" # => "Ruby 関西" ’ 文字列に " を含む’ # => "文字列に " を含む" %|’ も " も含む| # => "’ も " も含む"
  • 5. 式展開 "#{name}さん (#{age})" # => "松本行弘さん (48)" ’#{name}さん (#{age})’ # => "#{name}さん (#{age})"
  • 6. エンコーディング s = "Ruby 関西" s.encoding # => #<Encoding:UTF-8> e = s.encode(Encoding::EUC_JP) e.encoding # => #<Encoding:EUC-JP> Encoding.list
  • 7. マジックコメント • 指定がなければ UTF 8 • Emacs  # -*- coding: cp932; -* • Vim  # vi: set fileencoding=cp932 :     
  • 8. 順序 ["Ruby", "Java", "C#", "Lisp"].sort # => ["C#", "Java", "Lisp", "Ruby"] "a".succ "b".succ.succ "z".succ "9".succ "Ruby".succ # # # # # => => => => => "b" "d" "aa" "10" "Rubz"
  • 9. 比較 "Ruby" == "Ruby" "Ruby" != "Ruby" "Ruby" === "Ruby" "Ruby".eql? "Ruby" "Ruby".equal? "Ruby" "Ruby" =~ /Ruby/ "Ruby" !~ /Ruby/ # # # # # # # => => => => => => => true false true true false 0 false
  • 10. 比較 (2) s = "Ruby 関西".encode(Encoding::CP932) u = "Ruby 関西".encode(Encoding::UTF_8) s == u # => false
  • 11. 数え上げ "Ruby"[0] "Ruby"[1] "Ruby"[2] "Ruby"[-1] # # # # => => => => "R" "u" "b" "y" "Ruby 関西"[1, 2] "Ruby 関西"[2..3] "Ruby 関西"[3..-2] # => "ub" # => "by" # => "y 関"
  • 12. 数え上げ (2) "Ruby 関西".chars.each{|c| puts c} # # # # # # >> >> >> >> >> >> R u b y 関 西
  • 13. 数え上げ (3) "Ruby 関西".bytes # => [82, 117, 98, 121, 233, 150, 162, 232, 165, 191] "Ruby 関西".codepoints # => [82, 117, 98, 121, 38306, 35199]
  • 14. 数え上げ (4) "NonRubynNonLifen".lines.each do |l| p l end # # # # >> >> >> >> "Non" "Rubyn" "Non" "Lifen"
  • 15. 破壊 s = "ruby" s.upcase s # => "RUBY" # => "ruby" s.upcase! s # => "RUBY" # => "RUBY"
  • 16. 破壊 (2) s = "ruby" s.upcase s E ruby E RUBY
  • 17. 破壊 (3) s = "ruby" s.upcase! s E RUBY
  • 18. 破壊 (4) s = "ruby" t = s t.upcase! s # => "ruby" # => "RUBY" # => "RUBY"
  • 19. 破壊 (5) s = "ruby" t = s t.upcase! E      t   s ruby
  • 20. 破壊 (6) s = "ruby" t = s t.upcase! E RUBY      t   s
  • 21. 演習問題 0 今日のレッスンで分からなかったこと、疑問に 思ったことをグループで話し合ってみよう。
  • 22. 演習問題 1 文字列の 1. 2. 3. 4. 行数 単語数 文字数 バイト数 を数えてみよう。
  • 23. 演習問題 2 文字列の 1. 単語の出現回数 2. 文字の出現回数 を数えてみよう。
  • 24. 演習問題 3 こにんちは みさなん おんげき ですか ? わしたは げんき で す 。この ぶしんょう は イリギス の ケブンッリジ だがいく の けきんゅう の けっか にげんん は もじ を にしんき する とき その さしいょ と さいご の もさじえ あてっれいば じ んゅばん は めゃちちくゃ でも ちんゃと よめる と いう け きんゅう に もづといて わざと もじの じんゅばん を いかれ えて あまりす 。 どでうす ? ちんゃと よちめゃう でしょ ? ちんゃと よためら はのんう よしろく
  • 25. 自己紹介 • • • • • 名前 (ニックネーム) 普段の仕事・研究内容・代表作 Ruby 歴・コンピュータ歴 勉強会に来た目的 などなど
  • 26. 参考 • ケンブリッジ例文 https://gist.github.com/higaki/8147246 • 解答例 https://github.com/higaki/ learn ruby kansai 59 • るりま http://doc.ruby-lang.org/ja/