names=count
visibility=public
kind=defined

--- count(*chars) -> Integer

chars で指定された文字が文字列 self にいくつあるか数えます。

検索する文字を示す引数 chars の形式は [[man:tr(1)]] と同じです。
つまり、「"a-c"」は文字 a から c を意味し、
「"^0-9"」のように文字列の先頭が「^」の場合は
指定文字以外を意味します。

文字「-」は文字列の両端にない場合にだけ範囲指定の意味になります。
同様に、「^」も文字列の先頭にあるときだけ否定の効果を発揮します。
また、「-」「^」「\」は
バックスラッシュ (「\」) によりエスケープできます。

引数を複数指定した場合は、
すべての引数にマッチした文字だけを数えます。

@param chars    出現回数を数える文字のパターン

例:

  p 'abcdefg'.count('c')               # => 1
  p '123456789'.count('2378')          # => 4
  p '123456789'.count('2-8', '^4-6')   # => 4

  # ファイルの行数を数える
  n_lines = File.open("foo").read.count("\n")

  # ファイルの末尾に改行コードがない場合にも対処する
  buf = File.open("foo").read
  n_lines = buf.count("\n")
  n_lines += 1 if /[^\n]\z/ =~ buf
      # if /\n\z/ !~ buf だと空ファイルを 1 行として数えてしまうのでダメ

