ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

初めてのRubyを読む その17 4.3

2011-09-26 13:54:17 | Ruby
「初めてのRuby」を読むの続き

4章 文字列
4.3 正規表現
から




■正規表現

・正規表現:文字列に対してパターン照合を行うためのミニ言語
  →部分文字列を探したり置き換えたりする際、簡潔に表現

・演算子
   =~  文字列をパターンと照らし合わせる演算子

・メタキャラクタ
  |  複数のパターンを区切る
  .  任意の1文字にマッチする
  ?*  直前のパターンの出来るだけ短い繰り返し
  [ ] いずれか1文字にマッチする

・$1 現在のコンテキストで最後に行われた正規部分マッチの
   1番目のキャプチャ文字
    →$2:2番目、 $3:3番目・・・




■4.3.1 文字正規表現リテラル
・正規表現オブジェクト:正規表現リテラルによって構築可能
   →正規表現リテラル: / /で囲った式
      %記法を持ちいて%r! ! もOK
      式展開、バックスラッシュ記法も可能

・正規表現リテラルには、後ろにいくつかのオプションを
 つけることもできる
   →特性を制御




■4.3.2 鬼車

・Ruby1.9では正規表現を処理するエンジン変わる
  →鬼車

http://www.geocities.jp/kosako3/oniguruma/index_ja.html




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

量子暗号の仕組みをメモメモ

2011-09-26 09:03:09 | そのほか
 サイエンスZEROで9月17日(今週のではなく、その前の)、量子暗号をやっていたので、その内容をメモメモ




■量子暗号

・量子:量を測る最小単位
・量子暗号:共通鍵を安全に受け渡しする
  →光子を使う
・レーザー光をオシロスコープで見て、弱めていくと、一瞬現れる1つのピーク
  →1つの光子





■量子暗号の送信機
・光子を信号に変える

  レーザー発振器
   ↓
  光回路 :2つの通り道がある
         →光子は2つの経路を同時に通る
         (2つの場所に同時に存在)
           上の経路:直線
           下の経路:経路が長い
             →100億分の4秒遅れる:2つのピーク

   ↓
  光子変調器
     2つのピークに対し
        Z:1つのピークが消える:Z0、Z1(ピーク反転)
        X:2つのピークのまま:X0(元信号)、X1(反転)
     と、1個の信号から、Z0、Z1、X0、X1の4信号を作る




■共通鍵を作る方法

・送信者・XかZの箱に、0ないしは1を入れて、
 箱をX,Zの両方とも送る
   →今回はZの箱に0のボールを入れたとする。


・受信者は、XかZのどちらか一方しかあけられない
  Zをあけると、Z0という正しい結果を受け取る
  Xをあけると、X0またはX1という間違った結果を受け取る

・受信者は、そのまま受け取る
  結果として、正しい箱を開ければ、正しい信号が受け取れている

・ある点で、送信者と受信者が送ったものを照合する
  X、Zどっちの箱を送ったかを送信し、確認する
   →0か1かは送信しないので、盗聴してもわからない※
  箱が合っていれば、中身もあっているので、
  あっていない(間違った)はこのデータを捨てる
   →そうすると、正解データだけ残る

・その正解データをもとに(=あっているものだけを)鍵として使う


※盗聴できないだけでなく、盗聴すると、測定した瞬間にデータが変わり、
 共通鍵に食い違いの部分が出るため、盗聴されたことがわかる
  →その場合は、別な回線で通信




■実用化のためには・・・

・光子検出器の精度を良くすることが、
 長距離化に必要
  →窒化ニオブを使い、超伝導を利用して距離を伸ばすなど

・5年後に5分の一の大きさ、10年後に100分の1の価格を目指す



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Audacityでラインがでないので録音できない場合

2011-09-26 00:54:24 | Weblog
自分へのメモ(あとで詳しく書く)




■現象

らじる★らじるやradikoをパソコンで録音したいとき、Audacityを使って録音するが、
ネットPCなどを利用すると、「ライン」という表示がなく

マイク
Microsoft サウンドマッパー

しかなく、どちらからも、録音できないとき・・・




■対応

 コントロールパネル→サウンド→録音タブを開く
 「マイク」しかなく「ステレオミキサー」がない場合、
右クリックして「無効なデバイスの表示」をクリック、
ステレオミキサーが出てくるので、それを選択、右クリックして
「有効」にする(デフォルトで無効になってる?)。

そうして、Audacityを再起動。
マイク
Microsoft サウンドマッパー

のほかに、

「サウンドミキサー」

が追加されるので、それを選ぶ。
すると、録音できる。
(出力は、スピーカー)



  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

YouTubeに3D動画ワンクリック変換機能

2011-09-25 18:26:01 | Weblog
通常の2D動画を、ワンクリックで3D動画に変換できる
って、ここまではすごいんだけど、
変換された3D動画を視聴するためには、3Dテレビと対応眼鏡が必要となる
んじゃ~ね~、まだちょっと普及しないかな・・

でも、2Dから3Dにどうやってするんだろう・・・
これ、簡単にできるなら、切り抜きって、楽になる気がする・・
(3Dにするとき、手前にある物体を背景から「切り抜いて」、
 手前の物体を近くに見えるように3Dにしているんだろうから)


YouTubeに3D動画ワンクリック変換機能、15分超の動画アップロード許可も
http://headlines.yahoo.co.jp/hl?a=20110922-00000025-impress-inet

(このエントリ内の斜体は、上記サイトより引用)


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「標準ソフトウエア工学教科書」を作ってみたいと思います その8 2.3

2011-09-25 14:51:14 | 土日シリーズ
シリーズ「標準ソフトウエア工学教科書」を作ってみたいと思います

今回は「2.3 プロトタイプ(RAD)」です。




■2.3 プロトタイプ(RAD)

 前章(2.2)で見た、V字型、フィードバックV字、W字型開発も結局、ウォーターフォールを踏襲しているものでした。

 これらの方法に共通している問題として、開発リスクが先送りされてしまうという欠点があります。




 たとえば、
  「携帯の画面から受注データを送信する」
  「その際、商品名は、選択できるように」
 という仕様があったとします。

 現実的には、商品が10000点もあったら、商品名を選択するのが大変です。
 だから、画面入力を考えれば、この仕様は、単純にはできない(何か工夫しないとできない)ということになります。


 ウォーターフォールで開発する場合、この仕様の問題が露呈するのは、画面設計段階です。
 しかし、そのとき、画面設計の人が、この問題を見落とし、10000点もあるものをドロップダウンリストで設計してしまったら、どうなるでしょう。
 プログラムが作成され、単体、結合テストまで行ってしまいます。
 結合テストのとき、10000件もドロップダウンできない!と気づき、修正がかかります。 このときは、画面設計まで戻って修正しないといけません。

 一般に、外部設計や旧来言っていた基本設計でのミスは、その設計をテストする結合テストまで、露呈しない危険性があります。よく、結合テストで問題が連続的に発覚、デスマーチになるのは、要するに、設計ミスです。

 では仮に、画面設計のとき、それに気づいて、画面を、「大分類」「中分類」「小分類」と3つのドロップダウンリストにしたらどうでしょう。なんかよさそうです。でも、ユーザーから見たら、大分類、中分類、小分類がどうなっているかわかってなかったとしたら、これは不便そうです。この不便さは、ユーザーの受け入れテストまで、発覚しないかもしれません。
 受け入れテストで発覚したら大変です。大きな作り直しになります。




 そこで、プロトタイプを開発することになります。
 画面だけを表示するとか、さらにちょっとしたデータを入出力するだけなら、ツールを使って簡単に作れる場合があります(というか、画面だけなら、たいてい簡単に作れます)

 ですので、設計段階で画面を作ってしまい(これがプロトタイプ)それをお客さんに見せて、OKを取っておけば、上記のような問題は起こらないはずです。このように、要求分析、設計段階で、画面などを部分的に作って(プロトタイプ)、お客さんや関係者などと確認を取りながら開発する方法が、プロトタイプ開発です。




 プロトタイプ開発の場合、作った画面等を、後工程で使うかどうかという話があります。
 このとき、後工程で使わない場合は、作ったプロトタイプを「モックアップ」ということがあります。また、プロトタイプは必ずしも「コンピューターで動くものでなくてはならない!」と定義されたものではないようです。紙レベルの紙芝居風のものも、プロトタイプということがあります。

 なお、上記の例の場合、画面は、この方法で問題を早期発見できますが、そもそも、10000件の商品データを携帯側にどう持つのか、通信で送れるのか?といった、性能面はプロトタイプを作るだけでは、発見することが難しいです。
 つまり、プロトタイプを作れば完璧というわけではなくて、作っても検討しなければいけない問題が、まだ残っているわけです。

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「標準ソフトウエア工学教科書」を作ってみたいと思います その7 2.2

2011-09-24 22:54:03 | 土日シリーズ
シリーズ「標準ソフトウエア工学教科書」を作ってみたいと思います

今回は「2.2 V字型、フィードバックV字、W字型開発」です。





■2.2 V字型、フィードバックV字、W字型開発

 前章の2.1では、ソフトウエアプロセス、すなわち以下に示すプロセス

  要求分析
  設計
   外部設計
   詳細設計
  実装(プログラミング)
  テスト
   単体テスト
   結合テスト
   総合テスト

 を単純に順番に並べるウォーターフォールモデルについて説明しました。

 ここで、開発プロセスの関連について考えるます。
 要求分析→設計→実装の内容を、テスト工程で確認しているいう関係になっています。
 そこで、この関係を明確に示すと、

  要求分析       総合テスト(性能テスト等:非機能要件) 
  設計
   外部設計      結合テスト 
   詳細設計      単体テスト
  実装(プログラミング)

となります。これを、美しく?すると
 要求分析            総合テスト 
   外部設計        結合テスト 
     詳細設計    単体テスト
       実装(プログラミング)



おお、美しいVの字が・・・
というので、V字型開発といいます。
つまり、V字型開発は、要求~実装までのテスト関係を明確にしただけで、
順番に行うということは、ウォーターフォールと同じです。




 さらに考えてみると、ウォーターフォールは、前の工程が終わったら、次の工程に進むわけだから、次の工程に進むときには、前の工程のテスト仕様書は書けるということになります。

 こんなかんじ

 要求分析 総合T仕様書作成          総合T仕様書受入   総合テスト 
   外部設計 結合T仕様書作成      結合T仕様書受入   結合テスト 
     詳細設計 単体T仕様書作成  単体T仕様書受入   単体テスト
              実装(プログラミング)


(Tは、テストのこと)

おお、美しい?Wの文字が・・・??

というので、このように、次の工程に進む際、前の工程のテスト仕様書を作成してしまい、テスト時、そのテスト仕様書を受け入れて、テストを実施する開発方法をW字開発といいます。




 ここまでは、結局ウォーターフォールモデルのパラダイム、すなわち、工程が終わってから、次の工程に進むというパラダイムは崩れていません。
 しかし、そのパラダイムは現実的には厳しいものがあります。
 次工程に行ってから、前工程の間違いに気づくこともあるからです。

 そこで、次工程に行ってから、間違いに気づいたら、1つ前の工程に戻るという開発方法が考えられました。こんなかんじ。


 要求分析            総合テスト 
↓↑              ↓↑ 
   外部設計        結合テスト 
  ↓↑          ↓↑
     詳細設計    単体テスト
    ↓↑      ↓↑
      実装(プログラミング)



 これが、フィードバックしているV字型モデル、フィードバックVです。





  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

光より早いものが出ると、宇宙の果てとか、いろいろ変わらないの?

2011-09-24 11:10:02 | Weblog
タイムマシンができるとか、そんな話じゃなって、
物理学とか、天文学とかが、大きく変わっちゃうんじゃないの?
本当にニュートリノが光よりはやいなら・・・

・・・たしか、宇宙の果てって、光が届く距離とかを元にしてなかったっけ?
光より早いものがあるとすると・・・

そもそもなぜE=mc^2なの?
つまり、光速をかけてるの?光より早い物質かあるなら?

とかになってきません?

なんか、いろいろ、大変なことになって、
発見した人がノーベル賞とりそうだ・・・

「タイムマシン可能」ニュートリノ実験結果に専門家ら驚き
http://headlines.yahoo.co.jp/hl?a=20110924-00000103-san-soci

P.S なんか、観測している時空がゆがむとか、そーいうことだったりして・・
  仮に、そういうことだとしても、大発見だけど・・・

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「フリー」を読む その2 第一章

2011-09-23 22:30:00 | Weblog
祝祭日は、

フリー~〈無料〉からお金を生みだす新戦略
http://www.amazon.co.jp/dp/4140814047


を読んでいきたいと思います。

前回、「プロローグ」だったので、今回は、

第一章 フリーの誕生

です。




■ジェロ(フルーツゼリーの素)の歴史
・パール・ウェイト
  当時:ゼラチンの粉(ピーター・クーパー発明)
       →色も風味もなし
  ウェイト:オレンジ、レモン・・など、色と風味をつける
    妻メイがジェロと命名、箱詰め商品にした
→さっぱり売れない
  当時:食材の使い方は決まっていた
   →ジェロはわからない
→1899年 オレーター・フランク・ウッドワードに売る


・オレーター・フランク・ウッドワード
 売れない
 ジェロを作っているニコに35ドルで買ってくれないかと申し込む
   →断られる
 →最大の問題は、消費者がジェロをどのように使えばよいか知らないこと
  ジェロの使い方を教えるレシピ本がその需要を作ると思った
    →どうしたら見てもらえるかわからない


・ウッドワード+マーケティング責任者:ヒューメルボー
 婦人向け雑誌「レディースホームジャーナル」に広告
 ジェロのレシピ本を1万冊刷って無料で配る
  →巡回セールスマンのライセンスがないと戸別訪問不可
     →無料で配るので、いらない
 商店にジェロを買い求める客が押し寄せるので商品をそろえて
 置いたほうが良いと売り込む
→爆発的な成功を収める


・20世紀でもっとも強力なマーケティング手法の1つが誕生
  →あるものをタダであげることで、別のものの需要を作り出す





■キング・ジレット

・40才のキング・ジレット:失意の発明家

・会社社長「使い捨てのものを発明しなさい」

・使い捨ての刃が付いたT字型の安全カミソリ完成
  →20年以上、思いつく限りのマーケティング手法
      →うまくいかなかった

・無料で配ったカミソリは替え刃の需要を作った
  →無料で配ったというのは、都市伝説
   替え刃を売ることで、このビジネスモデルは、
   すべての産業のお手本に
     →携帯電話をタダであげて、使用料を取るなど

・フリーはそれからの100年を定義する消費者革命
 を煽ることになる




■21世紀のフリー

・新しい形のフリーを開発しつつある
  →モノやサービスのコストをほとんどゼロになるまで下げる

・21世紀にはフリーがまったく新しい経済モデル
  →ビット経済に基づいている

・デジタル時代のユニークな特徴
  →ひとたび何かがソフトウェアになると、それが必ず無料になる

・アトム経済:インフレ
 ビット経済:デフレ(モノは安くなり続ける)

・20世紀:基本的にアトム経済
 21世紀:ビット経済
  →ビット経済の無料は本当にタダ
   オンラインでフリーがなぜ機能するかを直感的に理解している

・無料経済を誕生させたのは、デジタル時代のテクノロジーの進歩
   →ムーアの法則
 ジョージ・ギルダー:
  ある機能を得るためにそれまでかかっていたコストは
  新しい要素では実質的にゼロになる


・今日のもっとも興味深いビジネスモデル
  :無料からお金を生み出す道を探すこと
 すべての会社がフリーを利用する方法や
  フリーと競い合う方法を探さざるを得なくなる
→本書はその方法について記している

・まず
  無料の歴史
    無料であることが私たちの選択に強い影響
  デジタル経済がフリーを革命的に変えて
    たんなるマーケティング手法から
    新しいビジネスモデルを可能にする経済的力に
  無料経済の基本原則
    そこはどこでどのように作用するのか
    なぜしばしば誤解され、恐れられるのか


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

初めてのRubyを読む その16 4.2

2011-09-23 13:48:55 | Ruby

「初めてのRuby」を読むの続き

4章 文字列
4.2 文字と文字リテラル
から





■4.2 文字と文字リテラル

・Rubyは文字1つ1つを扱う方法を持っている
  →1.8と1.9では異なる言語仕様




■4.2.1 文字リテラル

・ ?の後に文字を書くと文字リテラルとして扱う
・バックスラッシュ記法を使って、特殊な文字を表現できる

Ruby 1.8の場合
  ?a   =>97

Ruby 1.9の場合
  ?a   =>"a"

・Ruby1.8と1.9では、結果がまったく異なっている




■4.2.2 文字のクラス

・Rubyは文字をあらわす固有のクラスはない
 →1.8では、文字列はバイト列だったので、
  文字はバイト値
 →1.9は、マルチバイト文字を1文字と認識
  文字リテラルは「1文字だけを含む文字列」
  Rubyのライブラリ設計は「大クラス主義」
   →むやみやたらにクラスの数を増やすのではなく
    クラスに多くの機能を与える




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

9月22日(木)のつぶやき

2011-09-23 02:48:08 | Twitter
02:55 from goo
「iPhone5」、auからも発売 ソフトバンク独占崩れる #goo_xmldtp http://t.co/NrF7LBwb
by xmldtp on Twitter

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

PMBOKのお勉強 その16 - 3.4

2011-09-22 20:40:43 | そのほか
今、

プロジェクトマネジメント 知識体系ガイド(PMBOKガイド)第4版
http://www.amazon.co.jp/dp/1933890681


のお勉強をしています。

前回3.3をやったので、今回は3.4をやります




■3.4 計画プロセス群

4.プロジェクト統合マネジメント
  4.2 プロジェクトマネジメント計画書作成

5.プロジェクト・スコープ・マネジメント
  5.1 要求事項収集
  5.2 スコープ定義
  5.3 WBS作成

6.プロジェクト・タイム・マネジメント
  6.1 アクティビティ定義
  6.2 アクティビティ順序定義
  6.3 アクティビティ資源見積もり
  6.4 アクティビティ所要期間見積もり
  6.5 スケジュール作成

7.プロジェクト・コスト・マネジメント
  7.1 コスト見積もり
  7.2 予算設定

8.プロジェクト品質マネジメント
  8.1 品質計画

9.プロジェクト人的資源マネジメント
  9.1 人的資源計画書作成

10.プロジェクト・コミュニケーション・マネジメント
  10.2 コミュニケーション計画

11.プロジェクト・リスク・マネジメント
  11.1 リスク・マネジメント計画
  11.2 リスク特定
  11.3 定性的リスク分析
  11.4 定量的リスク分析
  11.5 リスク対応計画

12.プロジェクト調達マネジメント
  12.1 調達計画




次回は、3.5 実行プロセス群

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

致命的!?これが「au版 iPhone5」の弱点だ!

2011-09-22 17:26:39 | ケータイ
という記事があったので、メモメモ

致命的!?これが「au版 iPhone5」の弱点だ!
http://kimobiler.blog133.fc2.com/blog-entry-221.html

(以下斜体は上記サイトより引用)

要点は

キャリアメールが使えない?
着信のたびにネットが切断される?
AppleのiPhone販売契約のノルマは非常に過酷です
auのトラフィックが逼迫するのも必至

ってことらしい


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Oracleのセミナーのコンテンツがいつでも見れるようになったね!

2011-09-22 11:10:13 | トピックス
昨日、日本オラクルから来た宣伝?メール
「オラクルの技術セミナー資料・動画が無制限にダウンロード可能!」
にあったんだけど、(以下斜体は上記メールより引用)


Oracle Direct Seminar(ダイセミ)完全オンデマンド化のお知らせ

「Oracle Direct Seminar(ダイセミ)」は、2011年9月実施分をもちまして終了となります。
長きにわたりダイセミをご利用いただきました皆様に、厚く御礼申し上げます。

2011年10月からは全てのオンラインセミナーをオンデマンドでご提供いたします。
「時間や場所を選ばずに受講したい」「自分のペースで何度も学習したい」
多くの皆さまからご要望をいただいていたダイセミの完全オンデマンド化が遂に実現します。


ってことで、ダイレクトセミナーの内容が、いつでも見れるようになるよ!
ってことらしいんだけど・・


今すぐ気になるセミナーコンテンツをダウンロードして、日々の技術情報収集/学習にお役立てください
▼【OTNセミナーオンデマンドコンテンツ】


って書いてあって、リンクが貼ってある。そこにいくと、今でも見れる。

ここ

OTN セミナー オンデマンド コンテンツ
http://www.oracle.com/technetwork/jp/ondemand/index.html

(以下太字は、上記サイトより引用)

こんなかんじの内容

Database 基礎
  ORACLE MASTER対策 Oracle Database 初心者
  Oracle Database DBA 初級 Oracle Database DBA 中級
  Oracle Database Developer 中級

Database 現場テクニック
  DB運用編 DB開発編 DB構築編 DB性能編
  Windows/.Netで使いこなす 製品コンセプト

Database スペシャリストが語る
  Oracle Master Platinum列伝 オラクルコンサルが語る
  サポート技術者直伝 製品担当が語る OracleDirect お悩み解決
  著者登場 おら! オラ! Oracle

Java
  イベント Java全般

WebLogic Server/アプリケーション・グリッド
  WebLogic Server JRockit Coherence Tuxedo 開発ツール

SOA/BPM/データ統合
  SOA BPM CEP データ統合

コンテンツ管理/ポータル
  コンテンツ管理

ID管理/セキュリティ
  ID管理 アクセス制御 統合ディレクトリ 全般

はじめてのEPM/BI
  全般 帳票 DWH スモールスタート

EPM/BI ソリューション
  全般 手法

EPM/BI 技術情報
  管理者 構築 全般

OS/仮想化
  入門編 プログラマー編 実用編

サーバー
  入門編

ストレージ
  入門編 実演編


 それぞれのところをクリックすると(このブログのをクリックしてもだめだよ、
リンク先のものをクリック)、さらに細かいセミナーに分かれていて、
各セミナーのビデオや資料が取り出せるようになっている。そこからビデオを
見れるものもある

 見てもらうとわかるけど、ダイレクトセミナーの内容そのもの!

 これって、便利だよね~!!


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

「iPhone5」、auからも発売 ソフトバンク独占崩れる

2011-09-22 02:55:11 | トピックス
ここの痛いニュース

「iPhone5」、auからも発売 ソフトバンク独占崩れる
http://blog.livedoor.jp/dqnplus/archives/1665267.html

によると(以下斜体は上記サイトより引用)


米アップルが今秋にも発売する「iPhone5」を、KDDIが日本で販売することが判明した。日本では初代iPhoneから3年間続いたソフトバンクによる独占販売体制が崩れる。加入者数でソフトバンクに追い上げられているKDDIにとって強力な援軍になりそうだ。

関係者によると、KDDIは米アップルと既に「iPhone5」の国内での販売契約を締結し、全国のauショップなどで11月頃から販売を開始する方向で関係各方面との準備に入っている。iPhone5は10月中旬頃、全世界で発売が開始される見通しだ。



だって!まじ!!

・・・ただし、ソースは日経らしい(^^;)


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

初めてのRubyを読む その15 4.1

2011-09-22 02:25:39 | Ruby
「初めてのRuby」を読むの続き

4章 文字列
4.1 文字列の構築
から




■4章 文字列

・Rubyは強力な文字列処理能力を持っている
 →オブジェクト指向的で豊かな文字列演算
  言語機能に統合された正規表現

・Rubyは文字列処理においてもオブジェクト指向
 を貫いて、言語のほかの部分に対する一貫性を
 持っている

・Ruby1.8ではマルチバイト文字を扱う能力は
 乏しかった
 →1.9は大幅に強化
  1.9は多言語テキスト処理を完全にサポート




■4.1 文字列の構築
・new メソッドで作ることも可能
・でも多くの場合は文字列リテラルで構築される


●4.1.1 文字列リテラル
・" または ' でくくる
・両端の引用符は必ず種類が一致していること

●4.1.2 バックスラッシュ記法
・" "でくくられた文字列は、バックスラッシュ記法を解釈
   →バックスラッシュに続けて特定の記法を書く

・' 'は原則解釈されない
  →例外、'とバックスラッシュ自身

・Unicode
 →Ruby1.9でバックスラッシュ記法追加
   →とくに{ }内に書く方法では、4桁以上のコードポイント
    も表現可能
   →エンコーディングはUTF-8

●4.1.3 式展開
・" "でくくられた文字列リテラル内部では、式展開が
 行われる
  →' 'の場合は行われない
・式展開とは #{ } でくくられた部分をRubyの式
 として解釈し、その値を文字列に展開すること
   →to_sメソッドが呼び出される

●4.1.4 バッククォート文字列
・バッククォートで囲むと、中身をシェルコマンドとして実行し、
 コマンドが出力した内容を元に文字列を構築する

●パーセント記法
・%で始まる。
  →引用符が多く含まれる文字列で便利
・%の後に英字、その後に非英字
  英字:%記法の種類
  非英字:区切り記号

●ヒアドキュメント
・行を区切りとする文字列リテラル
・<<の後に任意の区切り後を記述すると、
  <<が含まれる次の行から
  区切り語だけが行頭に書いてある行まで
 が文字列リテラルになる

・<< "EOS"と書いた場合、<< EOS と書いた場合
   バックスラッシュ記法、式展開が有効
 << 'EOS'と書いた場合
   バックスラッシュ記法、式展開が無効

・区切り語の前に空白文字が入ってもいけない
 → - を書くと( << -"EOS" )
   区切り語の前にタブや空白が入ってよい




■文字列化メソッド

・to_s
・to_str
・inspect
・marshal.dump




上記説明中 < > % # は、本当は半角。
次回は4.2

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする