ค้นหาความยาวของสตริง

Elm:
ค้นหาความยาวของสตริง

วิธีการ:

ใน Elm, คุณใช้ String.length เพื่อหาว่ามีตัวอักษรกี่ตัวในสตริง พิจารณาดู:

import Html exposing (text)

main =
  text (String.fromInt (String.length "Hello, Elm!"))
  -- ผลลัพธ์: "11"

ศึกษาลึก

ในอดีต, ฟังก์ชันวัดความยาวสตริงมีความสำคัญสำหรับการจัดการหน่วยความจำและการประมวลผลข้อความในภาษาที่มีการเข้าถึงข้อมูลระดับต่ำ Elm, ที่เป็นภาษาระดับสูง, ทำการซ่อนรายละเอียดเหล่านี้ไว้, และมีฟังก์ชันที่ให้มาพร้อมกับ String.length

มีสองประเด็นที่ควรสังเกต:

  1. สตริงใน Elm ถูกเข้ารหัสด้วย UTF-16 String.length จะคืนค่าจำนวนหน่วยของรหัส UTF-16, ซึ่งอาจต่างจากจำนวน graphemes ของ Unicode (ตัวอักษรที่ผู้ใช้รับรู้) ในสตริงที่มีตัวอักษรซับซ้อน
  2. ไม่มีทางเลือกอื่นนอกเหนือจาก String.length ใน Elm ถ้าคุณต้องการจำนวน graphemes, คุณอาจต้องใช้ฟังก์ชันที่กำหนดเองซึ่งคำนึงถึงความซับซ้อนของ Unicode

โดยภายใน, String.length จะวนลูปผ่านโครงสร้างข้อมูลสตริง, นับองค์ประกอบ ในฐานะฟังก์ชันที่บริสุทธิ์, ผลลัพธ์ของมันขึ้นอยู่กับข้อมูลที่ป้อนเข้ามาอย่างเดียว, รักษาอุดมการณ์การเขียนโปรแกรมแบบฟังก์ชันของ Elm

ดูเพิ่มเติม