4
文字列の最初のn文字をどのように一致させることができますか?ような何か:エリクシール文字列の最初のn文字と一致する方法はありますか
def take(n) do
head :: size(n) <> rest = "my string"
end
文字列の最初のn文字をどのように一致させることができますか?ような何か:エリクシール文字列の最初のn文字と一致する方法はありますか
def take(n) do
head :: size(n) <> rest = "my string"
end
あなたはパターンマッチングを用いて、第1 n
バイト得ることができます:あなたはUTF-8文字以来、単一のパターンを用いて、第1 n
UTF-8コードポイントを取得することはできません
iex(1)> n = 4
4
iex(2)> <<head :: binary-size(n)>> <> rest = "my string"
"my string"
iex(3)> head
"my s"
iex(4)> rest
"tring"
をすることができます可変バイト数を占めており、Elixirのパターンマッチングはそれをサポートしていません。パターン内に::utf8
を使用して、最初の(または固定数の)UTF-8コードポイントを得ることができます。
iex(1)> <<cp::utf8>> <> rest = "ƒoo"
"ƒoo"
iex(2)> cp
402
iex(3)> <<cp::utf8>>
"ƒ"
iex(4)> rest
"oo"