رشتهها در جولیا
تعریف رشته، ایندکسدهی، 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
این مبحث بخشی از دوره آموزش کامل جولیا است.