رشته‌ها در جولیا

تعریف رشته، ایندکس‌دهی، interpolation با $ و کاراکترهای escape

رشته چیست؟

رشته (String) دنباله‌ای از کاراکترهاست. در جولیا رشته‌ها تغییرناپذیر (immutable) هستند و با نقل‌قول دوتایی تعریف می‌شوند:

s1 = "سلام دنیا"
s2 = "جولیا"
println(s1, " از ", s2)
نقل‌قول تک برای Char است نه String! 'A' کاراکتر است اما "A" رشته.

رشته‌های چندخطی

text = """
این یک رشته
چندخطی است
"""
println(text)

Interpolation — جادوی $

name = "علی"
age = 25

println("من $name هستم")           # متغیر
println("سال بعد $(age + 1) می‌شوم")  # عبارت با پرانتز

طول و دسترسی به کاراکترها

s = "Hello"

println(length(s))    # 5 (طول)

# ایندکس از ۱ شروع می‌شود!
println(s[1])         # H (کاراکتر اول)
println(s[end])       # o (کاراکتر آخر)
println(s[end-1])     # l
کلمه کلیدی end در ایندکس‌دهی یعنی «آخرین عنصر» — خیلی کاربردی!

برش رشته (Slicing)

s = "Programming"

println(s[1:3])     # Pro
println(s[4:7])     # gram
println(s[end-2:end])  # ing

# first و last
println(first(s, 4))   # Prog
println(last(s, 3))    # ing

کاراکترهای Escape

Escapeمعنی
\nخط جدید
\tتب
\"نقل‌قول دوتایی
\\بک‌اسلش
\$علامت $ (بدون interpolation)

الحاق رشته‌ها

first = "علی"
last = "رضایی"

# با عملگر *
full = first * " " * last
println(full)

# با string()
full2 = string(first, " ", last)
println(full2)

# تکرار با ^
println("دور دنیا " ^ 3)
در جولیا الحاق رشته با * است نه +! دلیلش ریاضی است: ضرب در ریاضیات «ترکیب» است.

بررسی محتوا

s = "برنامه‌نویسی جولیا"

println(occursin("جولیا", s))    # true (شامل می‌شود؟)
println(startswith(s, "برنامه"))  # true
println(endswith(s, "جولیا"))     # true

این مبحث بخشی از دوره آموزش کامل جولیا است.

ابزارهای مرتبط