Elm - Chuỗi

Một chuỗi các ký tự Unicode được gọi là một Chuỗi. Trong Elm, các chuỗi được đặt trong dấu ngoặc kép "" . Chuỗi là một đoạn văn bản như hình dưới đây.

> "TutorialsPoint"
"TutorialsPoint" : String
> location = "Hyderabad" --variable
"Hyderabad" : String
> location
"Hyderabad" : String
>

Hàm chuỗi

Một số hàm phổ biến có thể được sử dụng để truy vấn hoặc thao tác các giá trị chuỗi được đưa ra bên dưới. Sử dụng REPL để thử các ví dụ dưới đây.

Sơ không phương pháp Sự miêu tả
1 isEmpty: String -> Bool chuỗi kiểm tra trống
2 đảo ngược: Chuỗi -> Chuỗi đảo ngược một chuỗi đầu vào
3 chiều dài: String -> Int trả về độ dài số nguyên
4 nối thêm: Chuỗi -> Chuỗi -> Chuỗi nối hai chuỗi và trả về một chuỗi mới
5 append: String -> Sconcat: List String -> String nối một danh sách các chuỗi và trả về một chuỗi mới
6 split: String -> String -> List String tách một chuỗi đầu vào bằng dấu phân tách đã cho, trả về một danh sách chuỗi
7 lát cắt: Int -> Int -> String -> String trả về một chuỗi con cho trước một chỉ mục bắt đầu, kết thúc và chuỗi đầu vào
số 8 chứa: Chuỗi -> Chuỗi -> Bool trả về true nếu chuỗi thứ hai chứa chuỗi thứ nhất
9 toInt: String -> Result.Result String Int phân tích cú pháp một chuỗi thành số nguyên
10 toInt: String -> Result.Result String Int phân tích cú pháp một chuỗi thành số nguyên
11 toFloat: String -> Result.Result String Float phân tích cú pháp một chuỗi để thả nổi
12 fromChar: Char -> String tạo một chuỗi từ một ký tự nhất định.
13 toList: String -> List Char chuyển đổi chuỗi thành danh sách các ký tự
14 fromList: Danh sách Char -> Chuỗi chuyển đổi danh sách các ký tự thành một chuỗi
15 toUpper: String -> String chuyển đổi chuỗi đầu vào thành chữ hoa
16 trim: Chuỗi -> Chuỗi loại bỏ khoảng trắng trên cả hai mặt của một chuỗi.
17 bộ lọc: (Char -> Bool) -> String -> String bộ lọc bộ ký tự từ chuỗi đầu vào
18 bản đồ: (Char -> Char) -> String -> String biến đổi mọi ký tự trong một chuỗi đầu vào

isEmpty

Hàm này có thể được sử dụng để xác định xem một chuỗi có trống hay không. Hàm này trả về giá trị True nếu Chuỗi được cung cấp trống.

Cú pháp

String.isEmpty String_value

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.isEmpty
<function> : String -> Bool

Chữ ký của hàm hiển thị Bool là kiểu trả về và kiểu đầu vào là Chuỗi -

Hình minh họa

> String.isEmpty ""
True : Bool
> String.isEmpty "Tutorialspoint"
False : Bool
> location = "Hyderabad"
"Hyderabad" : String
> String.isEmpty location
False : Bool

đảo ngược

Hàm này đảo ngược một chuỗi.

Cú pháp

String.reverse String_value

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.reverse
<function> : String -> String

Chữ ký của hàm hiển thị Chuỗi là kiểu trả về và kiểu đầu vào là Chuỗi -

Hình minh họa

> String.reverse "TutorialsPoint"
"tnioPslairotuT" : String

chiều dài

Hàm này trả về độ dài của một chuỗi.

Cú pháp

String.length String_value

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.length
<function-> : String -> Int

Chữ ký của hàm hiển thị Int là kiểu trả về và kiểu đầu vào là Chuỗi.

Hình minh họa

> String.length "Mohtashim"
9 : Int

nối thêm

Hàm này trả về một chuỗi mới bằng cách nối hai chuỗi.

Cú pháp

String.append String_value1 String_value2

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.append
<function-> : String -> String -> String

Chữ ký của hiển thị hai tham số đầu vào Chuỗi và một tham số đầu ra chuỗi

Hình minh họa

> String.append "Tutorials" "Point"
TutorialsPoint : String

kết hợp

Hàm này trả về một chuỗi mới bằng cách nối nhiều chuỗi thành một.

Cú pháp

String.concat [String1,String2,String3]

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.concat
<function> : List String -> String

Chữ ký của hiển thị Danh sách tham số đầu vào Chuỗi và kiểu trả về Chuỗi

Hình minh họa

> String.concat ["Hello","Tutorials","Point"]
HelloTutorialsPoint : String

tách ra

Hàm này phân tách một chuỗi bằng dấu phân cách đã cho.

Cú pháp

String.split string_seperator String_value

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.split
<function> : String -> String -> List String

Chữ ký của hiển thị hai tham số Chuỗi đầu vào và đầu ra dưới dạng danh sách kiểu chuỗi.

Hình minh họa

> String.split "," "Hello,Tutorials,Point"
["Hello","Tutorials","Point"] : List String

lát

Hàm này trả về một chuỗi con cho trước chỉ số bắt đầu và kết thúc. Các chỉ mục phủ định được lấy bắt đầu từ cuối danh sách. Giá trị của chỉ mục bắt đầu từ số không.

Cú pháp

String.slice start_index end_index String_value

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.slice
<function> : Int -> Int -> String -> String

Chữ ký của hiển thị ba tham số đầu vào và một kiểu trả về.

Hình minh họa

> String.slice 0 13 "TutorialsPoint"
"TutorialsPoin" : String

chứa đựng

Hàm này trả về giá trị True nếu chuỗi thứ hai chứa chuỗi thứ nhất.

Cú pháp

String.contains string1 string2

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.contains
<function> : String -> String -> Bool

Chữ ký của hiển thị kiểu trả về bool và hai tham số đầu vào

Hình minh họa

> String.contains "Point" "TutorialsPoint"
True : Bool

toInt

Hàm này chuyển đổi một chuỗi thành một int.

Cú pháp

String.toInt string_value

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.toInt
<function> : String -> Result.Result String Int

Vì toInt có thể trả về lỗi, kiểu trả về là Kết quả, là Chuỗi hoặc Int.

Hình minh họa

> String.toInt "20"
Ok 20 : Result.Result String Int
> String.toInt "abc"
Err "could not convert string 'abc' to an Int" : Result.Result String Int

toFloat

Hàm này chuyển đổi một chuỗi thành một float.

Cú pháp

String.toFloat string_value

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.toFloat
<function> : String -> Result.Result String Float

Vì toFloat có thể trả về lỗi, nên kiểu trả về là Kết quả, là Chuỗi hoặc Pha nổi.

Hình minh họa

> String.toFloat "20.50"
Ok 20.5 : Result.Result String Float
> String.toFloat "abc"
Err "could not convert string 'abc' to a Float" : Result.Result String Float

fromChar

Hàm này tạo một chuỗi từ một ký tự nhất định.

Cú pháp

String.fromChar character_value

Để kiểm tra chữ ký của loại hàm sau trong elm REPL -

> String.fromChar
<function> : Char -> String

Chữ ký hiển thị Chuỗi là kiểu trả về và đầu vào là kiểu Char

Hình minh họa

> String.fromChar 'c'
"c" : String

liệt kê

Hàm này chuyển đổi một chuỗi thành một danh sách các ký tự.

Cú pháp

String.toList string_value

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.toList
<function> : String -> List Char

Hàm hiển thị chữ ký trả về một danh sách các ký tự và nhận đầu vào là một chuỗi.

Hình minh họa

> String.toList "tutorialspoint"
['t','u','t','o','r','i','a','l','s','p','o','i','n','t'] : List Char

fromList

Hàm này chuyển đổi một danh sách các ký tự thành một Chuỗi.

Cú pháp

String.fromList list_of_characters

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.fromList
<function> : List Char -> String

Hàm hiển thị chữ ký trả về một danh sách các ký tự và nhận đầu vào là một chuỗi.

Hình minh họa

> String.fromList ['h','e','l','l','o']
"hello" : String

toUpper

Hàm này chuyển đổi một chuỗi thành tất cả các chữ hoa.

Cú pháp

String.toUpper String_value

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.toUpper
<function> : String -> String

Hình minh họa

> String.toUpper "hello"
"HELLO" : String

toLower

Hàm này chuyển đổi một chuỗi thành tất cả các chữ thường.

Cú pháp

String.toLower String_value

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.toLower
<function> : String -> String

Hình minh họa

> String.toLower "AbCd"
"abcd" : String

cắt tỉa

Hàm này loại bỏ khoảng trắng trên cả hai mặt của một chuỗi.

Cú pháp

String.trim String_value

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.trim
<function> : String -> String

Hình minh họa

> String.trim "tutorialspoint "
"tutorialspoint" : String

bộ lọc

Hàm này lọc một tập hợp các ký tự từ Chuỗi đầu vào. Chỉ giữ lại những ký tự vượt qua bài kiểm tra.

Cú pháp

String.filter test_function string_value

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.filter
<function> : (Char -> Bool) -> String -> String

Chữ ký cho thấy bộ lọc nhận hai tham số đầu vào và trả về một Chuỗi. Tham số đầu tiên là một hàm, có đầu vào Char và trả về Bool.

Hình minh họa

Trong ví dụ, chúng ta đang chuyển Char.isUpper làm tham số cho phương thức lọc; nó trả về tất cả các ký tự viết hoa như hình dưới đây.

> import Char
> String.filter Char.isUpper "abcDEF"
"DEF" : String

bản đồ

Hàm này nhận một Chuỗi và biến đổi mọi ký tự trong một chuỗi.

Cú pháp

String.filter mapping_function string_value

Để kiểm tra chữ ký của hàm, hãy nhập thông tin sau vào elm REPL -

> String.map
<function> : (Char -> Char) -> String -> String

Hình minh họa

Ví dụ sau thay thế ký tự o bằng @ -

> String.map (\c -> if c == 'o' then '@' else c) "TutorialsPoint"
"Tut@rialsP@int" : String