Elixir:
文字列の長さを求める
How to: (方法)
Elixirで文字列の長さを見つけるにはString.length/1
関数を使います。Unicode文字列にも対応しています。
# 文字列の長さを取得
string = "こんにちは"
length = String.length(string)
IO.puts(length) # 出力: 5
短いサンプルながら、以上が全てです。
Deep Dive (探求)
長年、文字列の長さを調べることは、多くのプログラミング言語の基本機能でした。Elixirでは、文字列はUTF-8でエンコードされており、String.length/1
は正確な文字単位での長さを返します。
古い言語では、ASCII文字のみを扱ったため、文字数はバイト数と等しかった。しかし、全角文字や絵文字など、複数のバイトが必要なUnicode文字には、String.length/1
が便利。
他の手段としては、バイナリ表現のバイトサイズを測るbyte_size/1
がありますが、通常は文字列の実際の長さを得たい場合には使われません。
# バイトサイズを測る
byte_size = byte_size(string)
IO.puts(byte_size) # 出力: 15
上記の場合、“こんにちは"は15バイトですが、5文字です。
See Also (参照)
- Elixir公式ドキュメントのStringモジュール
- Programming Elixir - プログラミングの基本から先進的なテクニックまでカバーしています。
- Elixir School - Elixirの基礎に特化した無料の学習リソースです。