文字列について

最近は、知識の整理とすでにリリースされているサービスをまねして作ってみるということをしています。そこで今日のブログは、文字列についてまとめます。
まず、そもそも文字列とは何かから。

●文字列って何?=>人間の使う言語で書かれた単数のデータのこと

まず最初に、perlでは、データは「単数」のものと「複数」のものに分けられる。
◎単数
例),「2」とか「おはよう」とか、一つのデータ
◎複数
例),「2,34,555」等、複数個のデータがひとまとまりになってるもの

このうち、単数のものを「スカラー値」と言う。このスカラー値には、以下の2つがある。
◎文字列
例),「おはよう」とか「hello」等、人間の使う言語で書かれたもの
◎数値
例),「2」とか、いわゆる数字

文字列をperlプログラム内で表記する方法は二種類。

●文字列をperlプログラム内で表記する方法

◎「''」(シングルクウォート)を使う方法/シングルクウォートで囲まれた部分は、perlにそのまま認識される。
例),'おはよう\nこんにちは' =>「おはよう\nこんにちは」と同じ。

◎「""」(ダブルクウォート)を使う方法/ダブルクウォートで囲まれた部分は、変数展開と逆スラッシュエスケープが行われる。
例),"おはよう\nこんにちは" =>「おはよう こんにちは」と同じ。

「変数展開」と「逆スラッシュエスケープ」とは何か、ですが、以下。逆スラッシュは、半角の¥のこと。

◎変数展開/変数名を、変数の値に置き換えること
◎逆スラッシュエスケープ/逆スラッシュの次の文字に合わせて、改行したりタブや改ページをしたりすること。
例),\n => 「改行」、\b => 「バックスペース」

ということは、変数を値に置き換えたいときは、「""」を使用しないといけません。もし、ダブルクウォート内で「\」をそのまま使用したいときは、「\\」とすればよいです。
さらに、この文字列用に、演算子が2つあります。

◎文字列連結演算子「.」/右と左をひっつける。
例), 'hello' . 'world' => 「helloworld」と同じ
例), 'hello' . ' ' . 'world' => 「hello world」と同じ

◎文字列繰り返し演算子「x」/右にきた数の回数だけ、左を繰り返す。
例), 'hello' x (1+2) => 「hellohellohello」と同じ
例), 5 x 2 => 「55」と同じ

文字列繰り返し演算子を使う場合は、右側は必ず数値でないといけません。数値であれば、少数でも大丈夫。ただし、少数の場合は、切り捨てで整数に丸められ、その整数回だけ繰り返されます。


難しいことをものすごく簡単に説明できて理解してもらえたら、その知識は身に付いたということなんだろうな、と思う今日この頃です。