irpg Community
ขอถามเกี่ยวกับ การอ่านค่า Script หน่อยฮะ - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html)
+--- Forum: RPG Maker Engine School (https://irpg.in.th/forum-7.html)
+--- Thread: ขอถามเกี่ยวกับ การอ่านค่า Script หน่อยฮะ (/thread-80.html)

Pages: 1 2


ขอถามเกี่ยวกับ การอ่านค่า Script หน่อยฮะ - hengmana - 05-13-2012

เริ่มเครื่องหมายก่อน
@ กับ @@
= กับ ==
.. กับ ...
: กับ ::
มันใช้ต่างกันยังไงครับ???


RE: ขอถามเกี่ยวกับ การอ่านค่า Script หน่อยฮะ - toonyoza - 05-13-2012

(05-13-2012, 03:31 PM)hengmana Wrote: เริ่มเครื่องหมายก่อน
@ กับ @@
= กับ ==
.. กับ ...
: กับ ::
มันใช้ต่างกันยังไงครับ???
1. @ ใช้แทนตัวแปรที่เรียกใช้ได้ทั้ง class @@ ถ้าจำไม่ผิดเป็นการ clone ตัวแปร @ อีกที
2. = คือกำหนดตัวแปร @a = 1 แต่ == ใช้สำหรับ คอดิชั่น(เงื่อนไข) เช่น if @a == 1
3. .. คือ เป็นการไล่จำนวนนับ จนถึงเลขตัวสุดถ้ายที่กำหนดไว้ เช่น 1..9 ก็คือ 1 ถึง 9
... คือ ไล่จำนวนนับ แต่ไม่ถึงตัวสุดถ้าย เช่น 1...9 ก็คือ 1 ถึง 8
4. : อันนี้ไม่แน่ใจไม่เคยใช้ ส่วน :: เป็นตัวอ้างอิงถือตัวแปรของ module
ตรง ข้อ 4 ผมไม่มั่นใจเท่าไหร่ใครรู้แน่นจริง ๆ ก้ช่วยโพสต่อและกันนะฮะ


RE: ขอถามเกี่ยวกับ การอ่านค่า Script หน่อยฮะ - hengmana - 05-26-2012

แล้วเครื่องหมาย
? กับ =>
ละครับ


RE: ขอถามเกี่ยวกับ การอ่านค่า Script หน่อยฮะ - angelix - 06-02-2012

ข้อแก้ข้อ 1 หน่อย ;w;
ถ้าใครเคยเขียนภาษาที่มี keyword static มาแล้ว
@ คล้าย non-static variable ใช้ภายใน instance ของ class เท่านั้น
ส่วน @@ คล้าย static variable ใช้ร่วมกันทุก instance ของ class

? กับ : น่าจะเป็น ?: มากกว่านะ มันคือ if แบบย่อครับ เช่น @a == 1 ? @a = 3 : @a = 0 และ
@a = (@a == 1 ? 3 : 0)
แปลว่า
if @a == 1
@a = 3
else
@a = 0

ส่วน => ใช้เวลาประกาศ Hash ครับ @a = {"a" => 1, "b" => 2} บลาๆ


RE: ขอถามเกี่ยวกับ การอ่านค่า Script หน่อยฮะ - hengmana - 06-02-2012

;w; แล้ว if ที่อยู่หลังประโยด(คำสั่ง)
self.damage = Integer(self.maxhp * 0.10) if maxhp >= 100
ทำตามเงื่อนไข ในบรรทัดนั้นใช่ไหมครับ


RE: ขอถามเกี่ยวกับ การอ่านค่า Script หน่อยฮะ - angelix - 06-03-2012

ใช่ครับ เป็นวิธีเขียนย่อเหมือนกัน เหมือน
if maxhp >= 100
self.damage = Integer(self.maxhp * 0.10)
end


RE: ขอถามเกี่ยวกับ การอ่านค่า Script หน่อยฮะ - hengmana - 06-03-2012

เครื่องหมายวงเล็บต่างๆ
( ) กับ [ ] กับ { }
สรุปใช้เหมือนๆกันรึเปล่าครับ


RE: ขอถามเกี่ยวกับ การอ่านค่า Script หน่อยฮะ - angelix - 06-05-2012

มันมีวิธีใช้หลายอย่างมากเลยนะ วงเล็บแต่ละแบบนั่นน่ะ และไม่เหมือนกันด้วย แต่ถ้าเอาหลักๆจะแบ่งเป็นสองกลุ่มใหญ่ คือ
- เป็น Syntax
- เป็น Operator

กรณี ()
- Syntax ใช้ในการกำหนด parameter list ของ method , constructor เช่น
def abc(a,b,c)
...
end
- Operator ใช้ในการกำหนดลำดับความสำคัญ (Precedence) เช่น 3-(2*2) ก็ทำในวงเล็บก่อน

กรณี []
- Syntax ใช้ประกาศ array เช่น @a = [1,2,3]
- Operator จำไม่ได้ แต่คุ้นๆว่ามันประกาศ def[] ได้

กรณี {}
- Syntax ใช้ประกาศ hash เช่น @a = {1=>3, 2=>0}
- Operator ไม่น่ามีมั้ง???


RE: ขอถามเกี่ยวกับ การอ่านค่า Script หน่อยฮะ - hengmana - 06-05-2012

แล้ว .max กับ .min ที่อยู่หลัง[ ] แล้วครับ
[a, b].max กับ [a, b].min มันอ่านค่ายังไง
ตัวอย่าง Game_Battler 1
n = [[base_maxhp + @maxhp_plus, 1].max, 999999].min


RE: ขอถามเกี่ยวกับ การอ่านค่า Script หน่อยฮะ - angelix - 06-05-2012

อย่างที่บอกครับว่า [] ใช้ประกาศ array
[a,b] ก็คือ array object ตัวนึง
ซึ่ง array เนี้ยมันมี method max กับ min ไว้หาค่าสูงสุด/ต่ำสุด
ดังนั้น [a,b].max จะเหมือนกับ
@a = [a,b]
@a.max
ซึ่งคืนค่าสูงสุดใน array ส่วน min ก็เหมือนกันแต่คืนค่าต่ำสุด