Ruby Academy · Pelajaran

Simbol berbanding String

Bila simbol patut digunakan

Pelajaran 1 daripada 413 langkah

Simbol berbanding String ialah pelajaran Ruby Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Ruby Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Ruby Academy merangkumi sejumlah 4 pelajaran.

Apakah Simbol?

Simbol ialah nama ringan yang tidak boleh diubah, ditulis dengan tanda titik bertindih pada permulaan seperti :name. Simbol sering digunakan sebagai pengecam dan kunci cincangan.

status = :active
puts status
puts status.class

Simbol Tidak Boleh Diubah

Tidak seperti rentetan, simbol tidak boleh diubah. Setelah :hello wujud, nilainya kekal sama selama-lamanya.

puts :hello.frozen?
puts "hello".frozen?

Simbol Sama, Objek Sama

Setiap penggunaan simbol yang sama menunjuk kepada satu objek yang dikongsi dalam memori. Dua rentetan yang sama biasanya ialah objek yang berbeza.

puts :ruby.object_id == :ruby.object_id
puts "ruby".object_id == "ruby".object_id

Mengapa Simbol Menjimatkan Memori

Oleh sebab simbol yang sama berkongsi satu objek, penggunaan simbol sebagai kunci berulang menjimatkan memori. Rentetan akan mencipta objek baharu setiap kali.

ids = [:a, :a, :a]
puts ids.map(&:object_id).uniq.length

Menukar antara Kedua-duanya

Gunakan to_sym untuk menghasilkan simbol daripada rentetan dan to_s untuk menukarnya kembali.

word = "color"
sym = word.to_sym
puts sym
puts sym.to_s.upcase

Simbol sebagai Kunci Cincangan

Simbol ialah kunci cincangan yang paling lazim dalam Ruby kerana simbol pantas dan tidak pernah berubah.

person = { name: "Ada", age: 36 }
puts person[:name]
puts person[:age]

Sintaks Ringkas

Apabila kunci ialah simbol, name: "Ada" ialah bentuk ringkas bagi :name => "Ada". Kedua-duanya mencipta kunci simbol.

a = { color: "red" }
b = { :color => "red" }
puts a == b

Simbol dalam Panggilan Kaedah

Simbol menamakan kaedah untuk alat seperti send dan map(&:method). Bentuk &:upcase menukarkan simbol menjadi blok.

words = ["a", "b", "c"]
puts words.map(&:upcase).inspect

Bila Hendak Menggunakan Rentetan

Gunakan rentetan apabila nilainya ialah data yang akan Anda paparkan, bina atau ubah: nama, mesej dan kandungan fail. Rentetan mempunyai kaedah teks yang pelbagai.

greeting = "Hello"
greeting << ", world"
puts greeting

Bila Hendak Menggunakan Simbol

Gunakan simbol untuk pengecam tetap: kunci cincangan, keadaan dan nama pilihan. Simbol menunjukkan tujuan dengan jelas dan tidak berubah secara tidak sengaja.

def move(direction)
  puts "Moving #{direction}"
end
move(:north)

Membandingkan Simbol dan Rentetan

Simbol dan rentetan yang mempunyai huruf sama adalah tidak sama. Kedua-duanya ialah jenis yang berbeza.

puts :name == "name"
puts :name.to_s == "name"

Semakan Pantas

Tentukan perkara yang Anda ketahui tentang simbol.

Rumusan

Anda kini mengetahui perbezaannya:

  • Simbol tidak boleh diubah, dikongsi dan sesuai sebagai kunci serta pengecam
  • Rentetan boleh diubah dan merupakan data teks yang pelbagai
  • tukar dengan to_sym dan to_s
  • :a == "a" ialah palsu

Seterusnya: mencipta dan membaca cincangan.

config = { mode: :fast }
puts config[:mode]
Percuma untuk bermula

Pelajari Ruby dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
29
Pelajaran
109

Soalan Lazim

Adakah pelajaran “Simbol berbanding String” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Ruby Academy, termasuk “Simbol berbanding String”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Ruby Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Simbol berbanding String”?

Bila simbol patut digunakan Anda berlatih Ruby Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Ruby Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Ruby Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.

Berapa lamakah pelajaran “Simbol berbanding String” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Ruby Academy ini?

Ya. Setiap pelajaran Ruby Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Simbol berbanding String
  2. Mencipta dan Membaca Hash
  3. Lelaran Hash
  4. Nilai Lalai dan Penggabungan
← Kembali ke Ruby Academy