BẮT ĐẦU
KIỂU DỮ LIỆU
TOÁN TỬ
NÂNG CAO
INTERVIEW
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
Dự án mới của mình là gamehow.net, mời anh em ghé thăm và góp ý ạ.

Kiểu dữ liệu Text trong Ruby (còn gọi là chuỗi / string)

Trong bài này mình sẽ giới thiệu kiểu dữ liệu Text trong Ruby, đây là kiểu dữ liệu thường dùng để lưu trữ các chuỗi string trong Ruby.

1. String cơ bản

Để tiếp tục với những tìm hiểu về các kiểu dữ liệu trong Ruby thì trong bài này mình sẽ giới thiệu một kiểu dữ liệu rất phổ biến đó là kiểu dữ liệu String.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Nếu như bạn là người mới bắt đầu tiếp xúc với ngôn ngữ lập trình mình có thể giải thích đơn giản là kiểu dữ liễu String là kiểu dữ liệu chuỗi các ký tự.

Để định nghĩa một String chúng ta cần phải để chúng trong dấu nháy đơn hoặc dấu nháy kép.

"Hello World"

// hoặc

'Hello World'

Nói một cách đơn giản hơn thì các ký tự, hoặc chuỗi nếu bạn để trong dấu nháy đơn hay dấu nháy kép thì được coi là kiểu dữ liệu String.

"Hello world".class
=> String

'Hello world'.class
=> String

Tất nhiên là chúng ta có thể sử dụng dấu nháy đơn hay dấu nháy kép tùy ý thích, thế nhưng đối với dấu nháy kép chúng ta có thể sử dụng được phép nội suy, cái này mình sẽ trình bày ở phần tiếp theo của bài

Nếu một chuỗi chỉ bao gồm hai dấu nháy (đơn hoặc kép) thì được gọi là một empty string

"".class
=> String

2. In giá trị của một chuỗi

Để in giá trị của một chuỗi hay một biến, chúng ta có thể sử dụng hàm puts.

Chúng ta có thể khai báo biến rồi in ra

name = "quang phu"
=> "quang phu"

puts name
quang phu
=> nil

hoặc in luôn giá trị trực tiếp đều được

puts "quang phu"
quang phu

puts 'quang phu'
quang phu

Tương tự với hàm puts, chúng ta còn một hàm nữa là hàm print. Điểm khác biệt giữa printputsprint không tự động xuống dòng.

print 123
print 456
print 789

Kết quả :

123456789

Còn đối với puts

put 123
put 456
put 789

Kết quả :

123
456
789

Ngoài putsprint ra chúng ta còn một cách in giá trị nữa là sử dụng p. Khii sử dụng p thì in ra raw string, nghĩa là chúng ta ghi như thế nào thì nó in ra thế ấy

p "quang phu"
"quang phu"

còn puts

puts "quang phu"
quang phu

3. Single-quoted string literals

Ở phần trên mình có nhắc tới là chúng ta có thể để các chuỗi kí tự trong nháy đơn hoặc dấu nháy kép đều được. Ở phần này mình sẽ nói rõ hơn về Single-quoted string (dấu nháy đơn) trước.

Một chuỗi sử dụng single-quoted có dạng như thế này

'Đây là một chuỗi sử dụng single-quoted'

Một chuỗi sử bắt đầu bằng một dấu nháy đơn và kết thúc bằng một dấu nháy đơn. Khi một dấu nháy đơn xuất hiện trong chuỗi, nó sẽ được coi là sự kết thúc hay bắt đầu của một chuỗi, nếu như chúng ta muốn coi đó như là một phần tử ở trong chuỗi thì phải đặt trước dấu nháy đơn đó một dấu backlash (\),

irb(main):008:0> 'I'm nguyen quang phu'
=> "I'm nguyen quang phu"

Mục đích của dấu backlash này là escape dấu nháy đơn trong đoạn chuỗi trên, dấu backlash này cũng có thể tự escape chính nó

puts  'Toi la nguyen quang phu \\ '
Toi la nguyen quang phu \

// câu lệnh trên sữ giống luôn câu lệnh này

puts 'Toi la nguyen quang phu \ '
Toi la nguyen quang phu \

Một điều đặc biệt của dấu nháy đơn so với dấu nháy kép này là chúng ta không thể thực hiện được phép nội suy trong dấu nháy đơn. Nó sẽ không nhận biết được một biến được gọi ở trong chuỗi để dịch ra giá trị của nó.

a = "nguyen quang phu"
=> "nguyen quang phu"

puts 'toi la #{a}'
toi la #{a}

Như các bạn thấy ở ví dụ trên, dấu nháy đơn không nhận dạng được biến a chúng ta đã khai báo.

4. Double-quoted string literals

Cũng tương tự như single-quoted, nhưng double-quoted có chức năng mạnh hơn. Nó giúp chúng ta sử dụng được các kí hiệu xuống dòng, lùi tab: \n hay \t... điều mà single-quoted không làm được.

puts "xuong \n dong"

xuong 
 dong

còn với single-quoted chỉ hiểu đó là một kí tự bình thường ở trong chuỗi

puts 'xuong \n dong'
xuong \n dong

Như ở trên mình có nói, đối với double-quoted sẽ có thể sử dụng được phép nội suy trong chuỗi string

puts "hello #{a}"
hello quang phu

hay là chúng ta cũng có thể tính toàn trong chính double-quouted

puts "#{2*3}"
6

Hãy nhớ là để in một giá trị ở trong chuỗi chúng ta sử dụng cú pháp #{..}

Như có nói ở trên, chúng ta sử dụng backlash để escape kí tự dấu nháy đơn, ngoài cách này ra thì chúng ta cũng có một cách khác đó là lồng giữ dấu nháy đôi và dấu nháy đơn lại với nhau.

puts "I'm nguyen quang phu"
I'm nguyen quang phu

5. String Concatenation

String concatenation là chúng ta sẽ nối hai chuỗi lại với nhau, để nối hai chuỗi lại với nhau trong ngôn ngữ Ruby bạn sử dụng ký tự +. Nếu bạn là một người từng làm việc với Javascript thì trong JS chúng ta cũng sử dụng dấu + để nối hai chuỗi lại.

"quang" + "phu"
=> "quangphu"

Liên hệ lại một chút ở trên, chúng ta có thể in biến ngay trong chuỗi bằng cách sử dụng #{}. Có cách dài dòng hơn chính là sử dụng kiểu nối chuỗi

puts "ten toi la " + name + "." 
ten toi la quang phu.

nhưng rõ ràng là cách sử dụng #{} nhanh hơn rất nhiều.

6. Kết luận

Trên đây là những kiến thức khi làm việc với string trong Ruby, các bạn hãy cố gắng nắm bắt thật kĩ những cái này vì khi làm việc thực tế có thể sẽ gặp rất nhiều.

Cùng chuyên mục:

Block trong Ruby

Block trong Ruby

Block là một khối lệnh được đặt trong ...

Iterator trong Ruby

Iterator trong Ruby

Ở bài trước mình có nói với các bạn về việc sử dụng các vòng…

Vòng lặp trong Ruby: Vòng lặp for / while / until / loop

Vòng lặp trong Ruby: Vòng lặp for / while / until / loop

Khi học một ngôn ngữ lập trình thì không thể không tìm hiểu tới một…

Câu lệnh điều kiện trong Ruby

Câu lệnh điều kiện trong Ruby

Trong bài này chúng ta sẽ học các lệnh điều kiện trong Ruby, đây là…

Các toán tử trong Ruby

Các toán tử trong Ruby

Nói đến toán tử thì dù bạn học ngôn ngữ nào đi nữa thì việc…

Cách sử dụng Ranges trong Ruby

Cách sử dụng Ranges trong Ruby

Ví dụ bạn cần tạo ra một dãy từ 1 đến 100 thì có thể…

Cách sử dụng Array trong Ruby

Cách sử dụng Array trong Ruby

Đây cũng là một trong những kiểu dữ liệu phổ biến nhất, vì vậy bạn…

Kiểu dữ liệu Symbol trong Ruby

Kiểu dữ liệu Symbol trong Ruby

Symbol giống như một String thế nhưng Symbol là một chuỗi bất biến nghĩa là…

Kiểu dữ liệu Boolean trong Ruby: True, False và Nil

Kiểu dữ liệu Boolean trong Ruby: True, False và Nil

Boolean là kiểu dữ liệu rất quan trọng, nó được dùng rất nhiều trong những…

Kiểu dữ liệu Hashes trong Ruby: Hiểu từ đơn giản đến phức tạp

Kiểu dữ liệu Hashes trong Ruby: Hiểu từ đơn giản đến phức tạp

Nếu bạn đã từng làm việc với một vài ngôn ngữ khác trước khi mà…

Hiểu về Method Missing trong Ruby

Hiểu về Method Missing trong Ruby

Chắc hẳn với các lập trình viên chúng ta ai cũng có thể đôi lần…

Kiểu dữ liệu Number trong Ruby (Kiểu số Integer, Float, ...)

Kiểu dữ liệu Number trong Ruby (Kiểu số Integer, Float, ...)

Trước tiên, chúng ta cùng nhìn qua một bức ảnh tổng quát phân cấp các…

Ruby là gì? Ai đã sáng tạo ra ngôn ngữ viêm kim cương này?

Ruby là gì? Ai đã sáng tạo ra ngôn ngữ viêm kim cương này?

Từ những năm 2008, thời mà mình còn học đại học thì Ruby là ngôn…

Các loại biến và cách sử dụng Module trong Ruby

Các loại biến và cách sử dụng Module trong Ruby

Bất kì một ngôn ngữ lập trình nào đều có khái niệm biến và ruby…

Cách tạo Method - Class và Object trong Ruby

Cách tạo Method - Class và Object trong Ruby

Trong bài này mình sẽ hướng dẫn các bạn cách tạo hàm, gọi hàm. Cách…

Cú pháp trong Ruby - Chạy Hello World

Cú pháp trong Ruby - Chạy Hello World

Tổng quan về cú pháp trong ruby. Hướng dẫn tạo file và chạy hello world…

Hướng dẫn cài đặt Ruby trên Window, Linux và MacOS

Hướng dẫn cài đặt Ruby trên Window, Linux và MacOS

Hướng dẫn chi tiết cách thiết lập môi trường lập trình Ruby trên hệ điều…

Top