Simbol berbanding String
Bila simbol patut digunakan
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.classSimbol 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_idMengapa 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.lengthMenukar 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.upcaseSimbol 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 == bSimbol 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).inspectBila 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 greetingBila 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_symdanto_s :a == "a"ialah palsu
Seterusnya: mencipta dan membaca cincangan.
config = { mode: :fast }
puts config[:mode]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
- Simbol berbanding String
- Mencipta dan Membaca Hash
- Lelaran Hash
- Nilai Lalai dan Penggabungan