Latest web development tutorials
×

Ruby หลักสูตร

Ruby หลักสูตร Ruby แนะนำโดยย่อ Ruby สิ่งแวดล้อม Ruby ติดตั้ง Linux Ruby ติดตั้ง Windows Ruby การเข้ารหัสจีน Ruby เลือกบรรทัดคำสั่ง Ruby ตัวแปรสภาพแวดล้อม Ruby ไวยากรณ์ Ruby ชนิดข้อมูล Ruby คลาสและวัตถุ Ruby กรณีระดับ Ruby ตัวแปร Ruby ผู้ประกอบการ Ruby หมายเหตุ Ruby เงื่อนไข Ruby การไหลเวียน Ruby ทาง Ruby กลุ่ม Ruby โมดูล Ruby เชือก Ruby แถว Ruby กัญชา Ruby วันที่และเวลา Ruby ขอบเขต Ruby iterator Ruby input และ output ไฟล์ Ruby File ชั้นเรียนและวิธี Ruby Dir ชั้นเรียนและวิธี Ruby ผิดปกติ

Ruby การสอนที่ทันสมัย

Ruby เชิงวัตถุ Ruby นิพจน์ปกติ Ruby การเข้าถึงฐานข้อมูล - DBI หลักสูตร Ruby MySQL Ruby CGI โครงการ Ruby CGI ทาง Ruby CGI Cookies Ruby CGI Sessions Ruby ส่ง Email SMTP Ruby Socket โครงการ Ruby XML, XSLT, XPath Ruby Web Services Ruby multithreading Ruby JSON Ruby RubyGems

ทับทิมกัญชา (กัญชา)

กัญชา (กัญชา) มีลักษณะคล้ายกับ "กุญแจ" => "คุณค่า" เช่นคอลเลกชันของคู่คีย์ค่า คล้ายกับอาร์เรย์กัญชา แต่มันจะไม่ จำกัด การใช้งานของตัวเลขดัชนี

กัญชาดัชนี (หรือ "สำคัญ") ได้เกือบวัตถุใด ๆ

อาร์เรย์กัญชาแม้ว่าที่คล้ายกัน แต่มีความแตกต่างที่สำคัญมาก: องค์ประกอบกัญชาอยู่ในลำดับใดไม่มี หากคำสั่งซื้อที่มีความสำคัญแล้วคุณควรใช้อาร์เรย์

สร้างกัญชา

เช่นเดียวกับอาร์เรย์ที่มีความหลากหลายของวิธีการที่แตกต่างกันในการสร้างกัญชาคุณสามารถสร้างกัญชาว่างผ่านวิธีการเรียนใหม่:

months = Hash.new

นอกจากนี้คุณยังสามารถใช้กัญชาใหม่ถูกสร้างขึ้นด้วยค่าเริ่มต้นโดยไม่มีค่าแฮชเริ่มต้นเป็นศูนย์:

months = Hash.new( "month" )

或

months = Hash.new "month"

เมื่อคุณเข้าถึงกัญชาที่มีค่าเริ่มต้นในคีย์ใด ๆ หากคีย์หรือค่าไม่อยู่กลับไปที่ค่าการเข้าถึงกัญชาเริ่มต้น:

#!/usr/bin/ruby

months = Hash.new( "month" )

puts "#{months[0]}"
puts "#{months[72]}"

เรียกเอาท์พุทตัวอย่างข้างต้นคือ

month
month
#!/usr/bin/ruby

H = Hash["a" => 100, "b" => 200]

puts "#{H['a']}"
puts "#{H['b']}"

เรียกเอาท์พุทตัวอย่างข้างต้นคือ

100
200

คุณสามารถใช้วัตถุทับทิมใด ๆ ที่เป็นคีย์หรือค่าหรือสามารถใช้อาร์เรย์เป็นตัวอย่างที่แสดง:

[1,"jan"] => "January"

แฮวิธีในตัว

หากคุณจำเป็นต้องเรียกวิธีแฮคุณจะต้องยกตัวอย่างวัตถุแฮช นี่คือวิธีการที่จะสร้างอินสแตนแฮวัตถุ:

Hash[[key =>|, value]* ] or

Hash.new [or] Hash.new(obj) [or]

Hash.new { |hash, key| block }

นี้จะกลับวัตถุให้เต็มไปด้วยกัญชาใหม่ ตอนนี้ใช้วัตถุที่สร้างขึ้นเราสามารถเรียกวิธีการใด ๆ ที่มีอยู่ ตัวอย่างเช่น:

#!/usr/bin/ruby

$, = ", "
months = Hash.new( "month" )

months = {"1" => "January", "2" => "February"}

keys = months.keys

puts "#{keys}"

เรียกเอาท์พุทตัวอย่างข้างต้นคือ

["1", "2"]

ต่อไปนี้เป็นวิธีกัญชาที่พบบ่อย(สมมติว่าวัตถุกัญชากัญชา):

เลขที่ วิธีการและคำอธิบาย
1 กัญชา == other_hash
ตรวจสอบว่าทั้งสองมีค่าคีย์กัญชาเดียวกันสำหรับจำนวนของคู่ค่าคีย์ที่มีการจับคู่กับแต่ละอื่น ๆ เพื่อตรวจสอบว่าทั้งสอง hashes มีค่าเท่ากัน
2 แฮช. [สำคัญ]
ใช้ค่าอ้างอิงที่สำคัญจากกัญชา ถ้าคีย์ไม่พบแล้วกลับไปเป็นค่าเริ่มต้น
3 แฮช. [สำคัญ] = ค่า
ค่าที่กำหนดค่าของคีย์เกี่ยวข้องกับคีย์ที่กำหนด
4 hash.clear
ลบคีย์ทั้งหมดจากกัญชา
5 hash.default (คีย์ = ไม่มี)
ส่งกลับค่าเริ่มต้นของกัญชาหากไม่ได้กำหนดโดย= เริ่มต้นกลับศูนย์(ถ้าคีย์ไม่อยู่ในกัญชาแล้ว[] จะแสดงค่าเริ่มต้น.)
6 hash.default = obj
ตั้งค่าเริ่มต้นสำหรับกัญชา
7 hash.default_proc
หากกัญชาที่สร้างขึ้นโดยบล็อก,บล็อกกลับ
8 hash.delete (กุญแจ) [หรือ]
array.delete (กุญแจ) {| สำคัญ | บล็อก}
นำออกจากคีย์กัญชาโดยคู่สำคัญหากบล็อกและไม่พบการจับคู่คู่ค่าคีย์ผลของบล็อกจะถูกส่งกลับ เปรียบเทียบกับdelete_if
9 hash.delete_if {| คีย์ค่า | บล็อก }
มันเป็นความจริงสำหรับบล็อกของบล็อกแต่ละลบคีย์จากกัญชา
10 hash.each {| คีย์ค่า | บล็อก }
ทราเวิร์กัญชาที่เรียกว่าครั้งเดียวสำหรับแต่ละบล็อกที่สำคัญผ่านค่าคีย์เป็นอาร์เรย์สององค์ประกอบ
11 hash.each_key {| สำคัญ | บล็อก}
ข้ามผ่านกัญชาสำหรับปุ่มโทรแต่ละครั้งเดียวบล็อกผ่านที่สำคัญเป็นพารามิเตอร์
12 hash.each_key {| key_value_array | บล็อก}
ทราเวิร์กัญชาที่เรียกว่าครั้งเดียวสำหรับแต่ละบล็อกที่สำคัญส่งค่าที่สำคัญและเป็นข้อโต้แย้ง
13 hash.each_value {| ค่า | บล็อก}
ทราเวิร์กัญชาที่เรียกว่าครั้งเดียวสำหรับแต่ละบล็อกที่สำคัญผ่านเป็นค่าพารามิเตอร์
14 hash.empty?
ตรวจสอบว่ากัญชาเป็นที่ว่างเปล่า (ไม่ได้มีคู่ค่าคีย์)และผลตอบแทนจริงหรือเท็จ
15 hash.fetch (คีย์ [เริ่มต้น]) [หรือ]
hash.fetch (กุญแจ) {| สำคัญ | บล็อก}
ค่าตอบแทนจากกัญชาผ่านที่สำคัญที่กำหนดถ้าคุณไม่พบกุญแจและไม่ได้ให้พารามิเตอร์เพิ่มเติมโยนยกเว้นIndexError;ถ้าให้เริ่มต้นกลับเริ่มต้นถ้าบล็อกตัวเลือกผลบล็อกจะถูกส่งกลับ
16 hash.has_key? (กุญแจ) [หรือ] hash.include? (กุญแจ) [หรือ]
hash.key? (กุญแจ) [หรือ] hash.member? (กุญแจ)
ตรวจสอบว่าที่สำคัญที่ได้รับอยู่ในกัญชาผลตอบแทนจริงหรือเท็จ
17 hash.has_value (ค่า)
ตรวจสอบว่ากัญชามีค่าที่กำหนด
18 hash.index (ค่า)
ผลตอบแทนที่ให้ค่าของคีย์กัญชาหากไม่มีการแข่งขันพบผลตอบแทนที่ศูนย์
19 hash.indexes (Keys)
ก็จะส่งกลับอาร์เรย์ใหม่ด้วยคุณค่าของส่วนประกอบที่สำคัญที่กำหนด ไม่สามารถหากุญแจสำคัญในการใส่ค่าเริ่มต้น วิธีการนี้ได้รับการคัดค้านกรุณาใช้เลือก
20 hash.indices (Keys)
ก็จะส่งกลับอาร์เรย์ใหม่ด้วยคุณค่าของส่วนประกอบที่สำคัญที่กำหนด ไม่สามารถหากุญแจสำคัญในการใส่ค่าเริ่มต้น วิธีการนี้ได้รับการคัดค้านกรุณาใช้เลือก
21 hash.inspect
ย้อนกลับพิมพ์กัญชาสตริงรุ่น
22 hash.invert
สร้างกัญชาใหม่กัญชาผกผันของคีย์และค่าในคำอื่น ๆกัญชาใหม่ค่าแฮชจะกลายเป็นกุญแจสำคัญที่ค่าจะกลายเป็นกุญแจสำคัญ
23 hash.keys
สร้างอาร์เรย์ใหม่ด้วยคีย์กัญชา/ td>
24 hash.length
มันกลับมีขนาดจำนวนเต็มกัญชาหรือความยาว
25 hash.merge (other_hash) [หรือ]
hash.merge (other_hash) {| สำคัญ oldval, newval | บล็อก}
ส่งกลับกัญชาใหม่กัญชามีเนื้อหาและother_hash เขียนซ้ำกัญชาสำคัญกับother_hashกับคู่คีย์ซ้ำ
26 hash.merge! (other_hash) [หรือ]
hash.merge (other_hash) {| คีย์ , oldval, newval | บล็อก}
และผสานเดียวกัน แต่จริงกัญชามีการเปลี่ยนแปลง
27 hash.rehash
สร้างใหม่กัญชาตามมูลค่าปัจจุบันของแต่ละคีย์ถ้าคุณใส่ค่าที่มีการเปลี่ยนแปลงการที่จะกัญชาอีกครั้งการจัดทำดัชนี
28 hash.reject {| คีย์ค่า | บล็อก }
ที่เป็นจริงของแต่ละบล็อกกุญแจสำคัญในการสร้างกัญชาใหม่
29 hash.reject! {| คีย์ค่า | บล็อก}
และปฏิเสธเหมือนกันแต่จริงกัญชามีการเปลี่ยนแปลง
30 hash.replace (other_hash)
แทนที่เนื้อหาของกัญชาของother_hash เนื้อหา
วันที่ 31 hash.select {| คีย์ค่า | บล็อก }
ส่งกลับอาร์เรย์ใหม่บล็อกส่งกลับค่าคีย์กัญชาจริงในคู่
32 hash.shift
นำออกจากกัญชาในคู่คีย์และส่งค่าคีย์กลับมาเป็นอาร์เรย์สององค์ประกอบ
33 hash.size
มันกลับแฮจำนวนเต็มของขนาดหรือความยาว
34 hash.sort
กัญชาถูกแปลงเป็นอาร์เรย์สองมิติที่มีอาร์เรย์ค่าคีย์และเรียงลำดับแล้ว
35 hash.store (คีย์ค่า)
กัญชาเก็บไว้ในคู่ค่าคีย์
36 hash.to_a
สร้างอาร์เรย์สองมิติจากกัญชา แต่ละคู่ค่าคีย์เป็นอาร์เรย์อาร์เรย์ทั้งหมดเหล่านี้จะถูกเก็บไว้ในอาร์เรย์
37 hash.to_hash
ผลตอบแทนที่ได้แฮช (ตัวเอง)
38 hash.to_s
กัญชาจะถูกแปลงเป็นอาร์เรย์แล้วอาร์เรย์จะถูกแปลงเป็นสตริง
39 hash.update (other_hash) [หรือ]
hash.update (other_hash) {| สำคัญ oldval, newval | บล็อก}
ส่งกลับกัญชาใหม่กัญชามีเนื้อหาและother_hashเขียนซ้ำกัญชาสำคัญกับother_hash กับคู่คีย์ซ้ำ
40 hash.value (ค่า)
ตรวจสอบว่ากัญชามีค่าที่กำหนด
41 hash.values
ก็จะส่งกลับอาร์เรย์ใหม่ที่มีค่าทั้งหมดของกัญชา
42 hash.values_at (obj, ... )
ก็จะส่งกลับอาร์เรย์ใหม่ที่มีค่าแฮชที่เกี่ยวข้องกับการที่สำคัญที่กำหนด