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

ประกอบทับทิม

ทับทิมสนับสนุนชุดสมบูรณ์ของผู้ประกอบการ ผู้ประกอบการส่วนใหญ่มีความจริงวิธีการโทร ยกตัวอย่างเช่น A + B จะถูกตีความว่าเป็น. + (B) ประเด็นตัวแปรวิธี + ชี้ถูกเรียก B เป็นพารามิเตอร์ในการเรียกวิธีการที่

สำหรับแต่ละผู้ประกอบการ (+ - * /% ** & | ^ << >> && ||) มีผู้ประกอบการที่ได้รับมอบหมายย่อที่สอดคล้องกัน (+ = - = ฯลฯ )

ทับทิมดำเนินการทางคณิตศาสตร์

สมมติว่าตัวแปรค่า 10 ค่าตัวแปร B 20 แล้ว:

运算符描述实例
+加法 - 把运算符两边的操作数相加 a + b 将得到 30
-减法 - 把左操作数减去右操作数 a - b 将得到 -10
*乘法 - 把运算符两边的操作数相乘 a * b 将得到 200
/除法 - 把左操作数除以右操作数 b / a 将得到 2
%求模 - 把左操作数除以右操作数,返回余数 b % a 将得到 0
**指数 - 执行指数计算 a**b 将得到 10 的 20 次方

เปรียบเทียบทับทิม

สมมติว่าตัวแปรค่า 10 ค่าตัวแปร B 20 แล้ว:

运算符描述实例
==检查两个操作数的值是否相等,如果相等则条件为真。 (a == b) 不为真。
!=检查两个操作数的值是否相等,如果不相等则条件为真。 (a != b) 为真。
>检查左操作数的值是否大于右操作数的值,如果是则条件为真。 (a > b) 不为真。
<检查左操作数的值是否小于右操作数的值,如果是则条件为真。 (a < b) 为真。
>=检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 (a >= b) 不为真。
<=检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 (a <= b) 为真。
<=>联合比较运算符。如果第一个操作数等于第二个操作数则返回 0,如果第一个操作数大于第二个操作数则返回 1,如果第一个操作数小于第二个操作数则返回 -1。 (a <=> b) 返回 -1。
===用于测试case语句的 when 子句内的相等。 (1...10) === 5 返回 true。
.eql?如果接收器和参数具有相同的类型和相等的值,则返回 true。 1 == 1.0 返回 true,但是 1.eql?(1.0) 返回 false。
equal?如果接收器和参数具有相同的对象 id,则返回 true。如果 aObj 是 bObj 的副本,那么 aObj == bObj 返回 true,a.equal?bObj 返回 false,但是 a.equal?aObj 返回 true。

ผู้ประกอบการที่ได้รับมอบหมายทับทิม

สมมติว่าตัวแปรค่า 10 ค่าตัวแปร B 20 แล้ว:

运算符描述实例
=简单的赋值运算符,把右操作数的值赋给左操作数 c = a + b 将把 a + b 的值赋给 c
+=加且赋值运算符,把右操作数加上左操作数的结果赋值给左操作数 c += a 相当于 c = c + a
-=减且赋值运算符,把左操作数减去右操作数的结果赋值给左操作数 c -= a 相当于 c = c - a
*=乘且赋值运算符,把右操作数乘以左操作数的结果赋值给左操作数 c *= a 相当于 c = c * a
/=除且赋值运算符,把左操作数除以右操作数的结果赋值给左操作数 c /= a 相当于 c = c / a
%=求模且赋值运算符,求两个操作数的模赋值给左操作数 c %= a 相当于 c = c % a
**=指数且赋值运算符,执行指数计算,并赋值给左操作数 c **= a 相当于 c = c ** a

ทับทิมมอบหมายขนาน

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

A = 10
B = 20
C = 30

โดยใช้การกำหนดขนานปฏิเสธความรับผิดชอบได้เร็วขึ้น:

A, B, C = 10, 20, 30

ที่ได้รับมอบหมายขนานเมื่อมีการแลกเปลี่ยนค่าของทั้งสองตัวแปรที่ยังมีประโยชน์:

A, B = B, C

ผู้ประกอบการ Bitwise ทับทิม

ผู้ประกอบการระดับบิตทำหน้าที่เกี่ยวกับบิตและบิตโดยการดำเนินการบิต

ถ้าสันนิษฐานว่า A = 60, และ B = 13 ขณะนี้อยู่ในรูปแบบไบนารีซึ่งจะเป็นดังนี้:

A = 0011 1100

B = 0000 1101

-----------------

A & B = 0000 1100

a | b = 0011 1101

a ^ B = 0011 0001

~ A = 1100 0011

ตารางต่อไปนี้แสดงทับทิมสนับสนุนผู้ประกอบการระดับบิต

ผู้ประกอบการ ลักษณะ ตัวอย่าง
& ถ้าทั้งสองมีอยู่ในตัวถูกดำเนินการไบนารีและผู้ประกอบการในการคัดลอกผล (A & B) จะเป็น 12, ที่อยู่, 0000 1100
| หากอยู่ในตัวถูกดำเนินการอย่างใดอย่างหนึ่งไบนารีหรือผู้ประกอบการในการคัดลอกผล (A | B) จะเป็น 61, เป็น 00,111,101
^ หากอยู่ในหนึ่งในตัวถูกดำเนินการ แต่ไม่ได้ไปพร้อม ๆ กันที่มีอยู่ในทั้งสองตัวถูกดำเนินการ, ผู้ประกอบการ XOR ไบนารีสำเนาไปยังผลที่ตามมา (A ^ ข) จะเป็น 49, เป็น 00,110,001
~ ผู้ประกอบการเติมเต็มเจ้าตัวเป็นผู้ประกอบการเอกเป็น "พลิก" ผลตำแหน่ง (~ A) จะ -61 1100 0011,2 จะเติมเต็มรูปแบบของเลขฐานสองที่มีสัญลักษณ์
<< Binary ประกอบกะซ้าย ค่าของตัวถูกดำเนินการด้านซ้ายเพื่อเลื่อนไปทางซ้ายและขวาถูกดำเนินการตามจำนวนที่ระบุตัวเลข << 2 จะเป็น 240 นั่นคือ 11110000
>> Binary ประกอบการเปลี่ยนแปลงทางด้านขวา ค่าของตัวถูกดำเนินการด้านซ้ายย้ายขวาถูกดำเนินการตามจำนวนที่ระบุของบิตไปทางขวา >> 2 จะเป็น 15, ที่อยู่, 0000 1111

ทับทิมดำเนินการทางตรรกะ

ตารางต่อไปนี้แสดงทับทิมสนับสนุนการดำเนินการทางตรรกะ

สมมติว่าตัวแปรค่า 10 ค่าตัวแปร B 20 แล้ว:

运算符描述实例
and称为逻辑与运算符。如果两个操作数都为真,则条件为真。 (a and b) 为真。
or称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 (a or b) 为真。
&&称为逻辑与运算符。如果两个操作数都非零,则条件为真。 (a && b) 为真。
||称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 (a || b) 为真。
!称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。 !(a && b) 为假。
not称为逻辑非运算符。用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。 not(a && b) 为假。

ทับทิมประกอบ ternary

มีการกระทำมากกว่าหนึ่งเรียกว่าผู้ประกอบ ternary ครั้งแรกที่ค่าความจริงการใช้คอมพิวเตอร์ในการแสดงออกและจากนั้นตัดสินใจที่จะใช้ทั้งสองที่อยู่เบื้องหลังในการแถลงขึ้นอยู่กับผลที่ได้ ผู้ประกอบการมีไวยากรณ์เงื่อนไขต่อไปนี้:

运算符描述实例
? :条件表达式如果条件为真 ? 则值为 X : 否则值为 Y

ทับทิมประกอบการช่วง

ในทับทิมลำดับที่ใช้ในการสร้างชุดของค่าช่วงติดต่อกัน - มีค่าเริ่มต้นค่าจบ (มีจำนวน จำกัด ) และค่านิยมระหว่างพวกเขา

ในทับทิมลำดับเหล่านี้คือการใช้ " .. " และ " ... " ผู้ประกอบการหลากหลายในการสร้าง ช่วงมีสองรูปแบบสร้างเริ่มต้นและสิ้นสุดค่าช่วงของสามในการสร้างรูปแบบที่มีเฉพาะค่าสิ้นค่าเริ่มต้นจะไม่รวมถึง

运算符描述实例
..创建一个从开始点到结束点的范围(包含结束点) 1..10 创建从 1 到 10 的范围
...创建一个从开始点到结束点的范围(不包含结束点) 1...10 创建从 1 到 9 的范围

ทับทิมกำหนด? ผู้ประกอบการ

กำหนด? เป็นผู้ประกอบการพิเศษไม่ว่าจะเป็นในรูปแบบของการเรียกวิธีที่จะผ่านการตัดสินการแสดงออกที่ถูกกำหนดไว้มันกลับแสดงออกสตริงคำอธิบายถ้าการแสดงออกเป็นผลตอบแทนที่ได้กำหนดศูนย์

ต่อไปนี้เป็นผู้ประกอบการต่าง ๆ ที่กำหนดไว้การใช้งาน ?:

การใช้งาน 1

กำหนด? ตัวแปร # ถ้าตัวแปรที่ได้รับการเริ่มต้นทรูมันนี่

ตัวอย่างเช่น:

foo = 42
กำหนด? foo # => "ท้องถิ่นตัวแปร"
กำหนด? $ _ # => "ทั่วโลกตัวแปร"
กำหนด? บาร์ # => ศูนย์ (ไม่ได้กำหนด)

การใช้งาน 2

กำหนด? method_call # ถ้าวิธีการที่ได้ถูกกำหนดให้ทรู

ตัวอย่างเช่น:

กำหนด? # ทำให้ "วิธีการ" =>
กำหนด? ทำให้ (บาร์) # => ศูนย์ (ไม่ได้กำหนดที่นี่บาร์)
กำหนด? แกะ # => ศูนย์ (ไม่ได้กำหนดที่นี่)

การใช้งาน 3

# ถ้าวิธีการที่สามารถเรียกว่าเป็นผู้ใช้ super อยู่ทรูแล้ว
กำหนด? ซุปเปอร์

ตัวอย่างเช่น:

กำหนด? ซุปเปอร์ # => "ซูเปอร์" (ถ้าสามารถเรียกว่า)
กำหนด? ซุปเปอร์ # => ศูนย์ (ถ้าไม่ถูกเรียก)

การใช้งาน 4

กำหนด? ผลผลิต # ถ้าการป้องกันรหัสผ่านทรูมันนี่

ตัวอย่างเช่น:

กำหนด? ผลผลิต # => "ผลตอบแทน" (ถ้าบล็อกรับโอน)
กำหนด? ผลผลิต # => ศูนย์ (ถ้าไม่ผ่านบล็อก)

ทับทิม dot ผู้ประกอบการ "." และผู้ประกอบการลำไส้ใหญ่คู่ "::"

คุณสามารถเพิ่มชื่อโมดูลและขีดที่จะเรียกวิธีโมดูลก่อนชื่อวิธี คุณสามารถใช้ชื่อโมดูลและสองทวิภาคการอ้างอิงค่าคงที่

:: เป็นผู้ประกอบการเอกที่ช่วยให้คงที่เช่นวิธีการและวิธีการเรียนที่กำหนดไว้ในชั้นเรียนหรือโมดูลที่สามารถเข้าถึงได้ทุกที่ในชั้นเรียนหรือโมดูลจากภายนอก

โปรดจำไว้ว่า: ในทับทิมชั้นเรียนและวิธีนี้ยังสามารถใช้เป็นค่าคงที่

คุณจะต้องเพิ่มก่อนที่ชื่อของค่าคงที่แสดงออก:: คำนำหน้าเพื่อกลับไปยังระดับที่เหมาะสมหรือวัตถุโมดูล

ถ้าแสดงออกคำนำหน้าไม่ได้ใช้ชั้นวัตถุต้นแบบเริ่มต้น

นี่คือตัวอย่างที่สอง:

MR_COUNT = 0 # ระดับวัตถุที่กำหนดไว้ในค่าคงที่หลักโมดูลฟู
  MR_COUNT = 0
  :: MR_COUNT = 1 # เพื่อกำหนดนับทั่วโลก 1
  MR_COUNT = 2 # กำหนดนับท้องถิ่นของ 2
ปลาย
ทำให้ MR_COUNT # นี่เป็นค่าคงที่ทำให้ทั่วโลก Foo :: MR_COUNT # อะไรคือ "ฟู" คงที่ในท้องถิ่น 

ตัวอย่างที่สอง:

CONST = 'ออกมี'
ระดับ Inside_one
   CONST = proc { 'ในการมี'}
   def where_is_my_CONST
      :: CONST + 'ภายในหนึ่ง'
   ปลาย
ปลาย
ระดับ Inside_two
   CONST = 'ภายในสอง'
   def where_is_my_CONST
      CONST
   ปลาย
ปลาย
ทำให้ Inside_one.new.where_is_my_CONST
ทำให้ Inside_two.new.where_is_my_CONST
ทำให้วัตถุ :: CONST + Inside_two :: CONST
ทำให้ Inside_two :: CONST + CONST
ทำให้ Inside_one :: CONST
ทำให้ Inside_one :: CONST.call + Inside_two :: CONST

ทับทิมสำคัญประกอบ

ตารางต่อไปนี้ขึ้นอยู่กับผู้ประกอบการที่มีความสำคัญแสดงรายการผู้ประกอบการทั้งหมด

方法运算符描述
:: 常量解析运算符
[ ] [ ]= 元素引用、元素集合
** 指数
! ~ + - 非、补、一元加、一元减(最后两个的方法名为 +@ 和 -@)
* / % 乘法、除法、求模
+ - 加法和减法
>> << 位右移、位左移
& 位与
^ | 位异或、位或
<= < > >= 比较运算符
<=> == === != =~ !~ 相等和模式匹配运算符(!= 和 !~ 不能被定义为方法)
&& 逻辑与
|| 逻辑或
.. ... 范围(包含、不包含)
? : 三元 if-then-else
= %= { /= -= += |= &= >>= <<= *= &&= ||= **= 赋值
defined? 检查指定符号是否已定义
not 逻辑否定
or and 逻辑组成

หมายเหตุ: คอลัมน์ที่ถูกระบุว่าเป็นวิธีการที่ผู้ประกอบการที่เป็นจริงวิธีการก็สามารถรับน้ำหนักมากเกินไป