พื้นที่ว่างในตัวระบุเคยเป็นสำนวนหรือไม่? [ปิด]


43

สไตล์C #แนะนำให้ใช้CamelCaseในตัวระบุเพื่อคั่นคำ ประเพณีเสียงกระเพื่อมแนะนำให้ใช้ - ขีดกลาง - แทน

เคยมีภาษาการเขียนโปรแกรมที่ไม่อนุญาตให้ใช้ช่องว่างในตัวระบุ แต่เป็นสำนวนที่ใช้กันทั่วไปเมื่อใช้ตัวระบุหลายคำ?

เป็นไปได้ที่จะมีตัวระบุที่มีช่องว่างในการใช้งานบางอย่างของSchemeแต่ก็ไม่ใช่วิธีปฏิบัติที่แพร่หลาย นี่คือตัวอย่าง:

Petite Chez Scheme Version 8.4
Copyright (c) 1985-2011 Cadence Research Systems

> (define |hey there| 100)
> (define |x y z| 200)
> (list |hey there| |x y z|)
(100 200)

หากคุณมีเนมสเปซนั่นคือรูปแบบของตัวระบุผสม เช่น C bobs_utilities :: string_functions :: scramble++: นี่คือชื่อและเราสามารถรวมช่องว่างตามอำเภอใจได้ถ้าเราต้องการเพราะเป็นไวยากรณ์ไม่ใช่โทเค็นธรรมดา ชื่อที่มีองค์ประกอบหลายรายการต้องการเป็นรูปแบบนามธรรม ข้อมูลเนมสเปซของ shoehorning ในตัวระบุเดียวนั้นโดยทั่วไปแล้วแฮ็ค "ชื่อ mangling" สำหรับการแสดงโครงสร้างภายในข้อความที่คุณไม่มีกลไกในการแสดงโครงสร้าง
Kaz

ค่อนข้างธรรมดาใน JS ซึ่งผู้แต่งหลักคือ Scheme guy
Erik Reppen

1
@ErikReppen เท่าที่ฉันรู้ช่องว่างไม่ถูกต้องเป็นส่วนหนึ่งของตัวระบุจาวาสคริปต์ ...
Izkata

ไม่ใช่สำหรับ vars no สำหรับชื่อคุณสมบัติเราสามารถใช้สตริงใด ๆ ในวงเล็บ เช่นalert({'some Prop':'bob'}['some Prop']);แต่ถ้าชื่อคุณสมบัติสตริงเหล่านั้นล้มเหลวการทดสอบตัวระบุ / ฉลากคุณไม่สามารถใช้พวกเขาด้วยสัญกรณ์ดอท
Erik Reppen

ใน Ruby คุณสามารถ: define_singleton_method "sjdlkfjsljk#$SDEF SDFSDF@# @#$!!~" do; puts 42; end;และจากนั้นคุณสามารถ: send "sjdlkfjsljk#$SDEF SDFSDF@# @#$!!~"แต่มันไม่ธรรมดา
Darek Nędza

คำตอบ:


66

คอมไพเลอร์ของ FORTRAN ละเว้นช่องว่างดังนั้น:

   result = value * factor  
   r e s u l t = val ue * fac tor
   result=value*factor`

เหมือนกันเท่าที่คอมไพเลอร์เป็นห่วง

ภาษา SQL บางภาษาอนุญาตให้มีการเว้นวรรคในชื่อคอลัมน์ แต่ต้องล้อมรอบด้วย backquotes หรือตัวคั่นอื่นก่อนจึงจะสามารถใช้งานได้


7
+1 นี่คือสิ่งใหม่สำหรับฉัน ฉันสงสัยอยู่เสมอว่าทำไมฉันถึงได้รับ B ใน Fortran แต่ตอนนี้ฉันรู้แล้ว :)
NoChance

19
คู่มือ FORTRAN ของซันใช้ในการรวมประโยคนี้: "การแยกคำอย่างต่อเนื่องโดยช่องว่างกลายเป็นธรรมเนียมทั่วไปเกี่ยวกับโฆษณาในศตวรรษที่สิบและจนถึงปี 1957 เมื่อ FORTRAN เลิกฝึกหัด"
Blrfl

26

Visual Basic (และ VBScript) อนุญาตช่องว่างในตัวระบุหากคุณล้อมรอบตัวระบุด้วยวงเล็บเหลี่ยม

Dim [Hello World]
[Hello World] = 123

อย่างไรก็ตามการทำเช่นนั้นค่อนข้างหายาก


13

SQL นับหรือไม่

create table "Registered Members" (
    "Full Name" varchar(100),
    "Mailing Address" varchar(100),
    etc...
);

3
เป็นไปได้แน่นอน แต่ฉันจะไม่เรียกมันว่าเป็นสำนวน
Joachim Sauer

3
หากคุณต้องการการปิดบังดูเหมือนจะไม่ได้รับการสนับสนุน
ผู้ใช้ไม่ทราบ

11

Well Whitespaceเกี่ยวกับ ... whitespace:

ภาษาการเขียนโปรแกรมที่ทันสมัยส่วนใหญ่จะไม่พิจารณาอักขระของ white space (ช่องว่างแท็บและการขึ้นบรรทัดใหม่) โดยละเว้นมันราวกับว่าพวกเขาไม่ได้อยู่ที่นั่น เราคิดว่านี่เป็นความอยุติธรรมขั้นต้นสำหรับสมาชิกตัวละครที่เป็นมิตรเหล่านี้อย่างสมบูรณ์แบบ พวกเขาควรจะถูกเพิกเฉยเพียงเพราะพวกเขาจะมองไม่เห็น? ช่องว่างเป็นภาษาที่พยายามแก้ไขความสมดุล อักขระที่ไม่ใช่ช่องว่างจะถูกละเว้น เว้นวรรคแท็บและการขึ้นบรรทัดใหม่เท่านั้นถือว่าเป็นไวยากรณ์

แต่น่าเสียดายที่ Markdown ไม่สนับสนุนไวยากรณ์และฉันไม่สามารถแสดงรหัสบางอย่าง แต่วิกิพีเดียมีตัวอย่างโค้ดที่เป็นมิตรของมนุษย์


@ sepp2k Whitespace มีป้ายกำกับ
yannis

โอ้คุณพูดถูก ไม่เป็นไรแล้ว
sepp2k

"ภาษาการเขียนโปรแกรมที่ทันสมัยส่วนใหญ่ไม่พิจารณาตัวอักษร white space" Python ทำ :)
jadkik94

@ jadkik94 Python ใช้ช่องว่าง แต่สำหรับการเยื้องไม่ใช่ตัวระบุ
yannis

@YannisRizos โอ้ใช่ และมันก็เป็นความจริงที่ว่าภาษาส่วนใหญ่จะไม่ใช้ช่องว่างเลย (ตัวระบุหรือไม่)
jadkik94

11

ในอัลกอล 68 คุณสามารถมีที่ว่างในตัวระบุได้ (ฉันจำไม่ได้ว่ามันสำคัญหรือไม่) แต่คำหลักที่ถูกทำเครื่องหมายด้วยstropping ใช้ชื่อที่มีช่องว่างในนั้นเป็นสำนวน (อย่างน้อยรอบตัวฉัน)

VHDL อนุญาตให้ใช้ตัวระบุที่มีช่องว่างที่สำคัญ\foo bar\ได้ สิ่งนี้ช่วยให้สามารถใช้คำหลักเป็นตัวระบุความไวของ\and\ตัวละคร\n<42>\และตัวอักษรใด ๆในตัวระบุ ( \Foo\และ\foo\แตกต่างกันในขณะที่Fooและfooเทียบเท่าและแตกต่างจากทั้งสอง\Foo\และ\foo\!) Verilog ยังใช้ตัวระบุที่มีคุณลักษณะเหล่านี้ส่วนใหญ่ (ตัวระบุปกติจะใช้ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่และการหลีกเลี่ยงไม่ได้ทำให้ตัวระบุอื่นไม่จำเป็น) แต่ไม่อนุญาตช่องว่างในตัว ความต้องการจากตัวบ่งชี้ที่หลบหนีใน VHDL และ Verilog นั้นมาจากข้อเท็จจริงที่ว่าพวกมันมักจะถูกสร้างขึ้นโดยอัตโนมัติจากแหล่งอื่น ๆ (เช่นแผนผัง) ซึ่งตัวระบุแบบดั้งเดิมไม่มีข้อ จำกัด เช่นเดียวกับในภาษาโปรแกรม AFAIK พวกมันไม่ได้ใช้ในสถานการณ์อื่น


ฉันดูเหมือนจะจำไว้ว่า CORAL ทำอะไรบางอย่างที่คล้ายกัน (มองย้อนกลับไปปี 1980 ที่นี่!) - คุณสามารถ (และไม่ได้) มีพื้นที่สีขาวในชื่อตัวแปร แต่คำหลักแล้วมีคำพูดรอบตัวพวกเขา (ชอบ'DEFINE'และเป็นที่ชื่นชอบส่วนบุคคล'COMMENT'เราใช้. เพื่อใช้ตัวประมวลผลแมโครเพื่อแทนที่สิ่งเหล่านี้ด้วยรุ่นที่ไม่ยกมา)
AAT

10

ฉันไม่ทราบว่าคุณพิจารณา MediaWiki เป็นภาษา แต่ชื่อที่มีช่องว่างเป็นสำนวนแน่นอน:

==Example==
This example lacks text.
{{Expand section}}

โดยที่ "ส่วนขยาย" คือชื่อของเทมเพลต (http://en.wikipedia.org/wiki/Template: ขยาย_section)

ฉันเดาว่าเป็นไปตามเกณฑ์ - ภาษาที่ตัวระบุมีช่องว่างเป็นประจำ มันไม่เคย (ฉันคิดว่า?) คลุมเครือเพราะตัวระบุถูกล้อมรอบด้วยเครื่องหมายวรรคตอนจำนวนมากเสมอเพื่อแยกพวกเขาออกจากข้อความวิกิแบบดิบ


2
ในขณะที่ wikitext เป็นภาษาทางการฉันจะไม่เรียกมันว่าเป็นภาษาโปรแกรม (มันไม่มีลูป)
svick

@svick: ไม่ทำ Haskell, Smalltalk, Scheme, Clojure, Erlang, แลมบ์ดาแคลคูลัส, ทัวริงจักร, Io, Ioke, Seph, …
Jörg W Mittag

@ JörgWMittag แต่มีการเรียกซ้ำซึ่งเป็นวิธีการแสดงลูปที่แตกต่างกัน Wikitext ไม่มีสิ่งนั้น
svick

@svick ส่วนขยายที่คุณติดตั้งคุณจะได้รับโครงสร้างการควบคุมบางอย่างใน mediawiki markup โดยเฉพาะอย่างยิ่งคุณได้รับifและเรียกซ้ำ ไวยากรณ์และประสิทธิภาพนั้นค่อนข้างแย่ เทมเพลตทำตัวเหมือนฟังก์ชั่นและชื่อของพวกเขานับเป็นตัวระบุในหนังสือของฉัน
CodesInChaos

1
น่าสนใจจาก [[Wikipedia: Transclusion]]: "ไม่มีฟังก์ชั่นวนซ้ำจริง ๆ ที่สร้างขึ้นในซอฟต์แวร์ Mediawiki ณ เวลานี้ ... แต่มีเทคนิคบางอย่างสำหรับการลอกเลียนแบบตัวอย่างเช่นการเรียกแม่แบบซ้ำ ๆ เทมเพลตที่แตกต่างกันสามารถเลียนแบบ double loop ได้นอกจากนี้เทมเพลตสามารถบังคับให้เรียกตนเองได้ (โดยทั่วไปห้ามซอฟต์แวร์ Mediawiki ผ่านอินสแตนซ์เดียว แก้ไข)) ดูเพิ่มเติมที่ m: ช่วยเหลือ: การแปลงแบบเรียกซ้ำของ wikitext "
Steve Bennett

9

Inform 7เป็นระบบสำหรับการพัฒนานวนิยายเชิงโต้ตอบโดยใช้ไวยากรณ์เหมือนภาษาธรรมชาติซึ่งมีตัวระบุหลายคำเป็นเรื่องธรรมดา:

Mr Jones wears a top hat. The crate contains a croquet mallet. 

แน่นอนว่าข้อ จำกัด คือตัวระบุไม่สามารถมีคำหลักเมื่อสิ่งนี้คลุมเครือ

ในหลอดเลือดดำที่คล้ายกันตัวระบุที่มีขีดล่างในAgdaสามารถใช้ mixfix ตัวอย่างที่ง่ายที่สุดซึ่งน่าจะเป็นif_then_else_โอเปอเรเตอร์:

if_then_else_ : {A : Set} -> Bool -> A -> A -> A
if true  then x else y = x
if false then x else y = y

6

Scala อนุญาตให้ใช้ตัวระบุโดยใช้ backticks การใช้งานปกติสำหรับสิ่งนี้คือการเรียกใช้Thread.`yield`เนื่องจากyieldเป็นคำที่สงวนไว้ใน Scala นี่อาจเป็น (ab) เคยมีช่องว่างในชื่อแม้ว่ามันจะห่างไกลจากรหัส Scala สำนวน:

val `the answer` = 42
println(`the answer`)

เฮ้คุณสามารถมีแท็บในตัวระบุ:

scala> val `the\tanswer` = 42
the     answer: Int = 42

ผมคิดว่าเรื่องนี้จะน่ากลัวจะเป็นสำนวนสำหรับการเขียนโปรแกรมความรู้พื้นบ้าน อาจจะ.


Scala อนุญาตให้ใช้อักขระเหมือน+ในชื่อเมธอด ดังนั้นสำหรับobj.a+=1มันจะแยกมันราวกับว่าa+=เป็นวิธีการ นักประดิษฐ์ Martin Odersky ในหนังสือเรียนของเขาสันนิษฐานว่าโปรแกรมเมอร์มักจะมีช่องว่างเพื่อให้ความคลุมเครือของโปรแกรมแยกวิเคราะห์ไม่เป็นปัญหา
Jesvin Jose

1
@ aitchnyu: อันที่จริงแล้วในตัวระบุแบบผสมส่วนของตัวอักษรและตัวเลขและส่วนของโอเปอเรเตอร์จะต้องคั่นด้วยเครื่องหมายขีดล่าง obj.a+=1เทียบเท่ากับซึ่งเทียบเท่ากับobj.a += 1 obj.a.+=(1)คุณจะต้องมีobj.a_+=1ถ้าคุณต้องการให้มันทำงานในแบบที่คุณอธิบาย (ที่จริงแล้วนั่นจะทำให้เกิดข้อผิดพลาดในการแยกวิเคราะห์คุณจำเป็นต้องโทรobj.a_+=(1)หรือobj a_+= 1)
Jörg W Mittag

นั่นไม่ใช่แท็บ…มันคือสถานีอวกาศ และตามสถานีอวกาศฉันหมายถึงลำดับแท็บยกเว้น
โทมัส Eding

5

F # อนุญาตให้มี white space ในชื่อตัวระบุ แต่ต้องล้อมรอบด้วย backticks สองครั้ง ดูคำตอบของคำถามนี้: https://stackoverflow.com/questions/6639688/using-keywords-as-identifiers-in-f


4

คุณอาจคิดว่านี่เป็นกรณีในCucumber / Gherkinโดยที่ชื่อฟังก์ชั่นเป็นประโยคที่มีประสิทธิภาพโดยมีอาร์กิวเมนต์ที่ฝังอยู่ภายใน

ในฐานะที่เป็นส่วนขยายฉันคาดว่าสิ่งนี้จะเป็นเรื่องธรรมดามากขึ้นในDSLเล็ก ๆซึ่งภาษาควรจะเป็นมิตรกับนักพัฒนาที่ไม่ใช่ ตัวอย่างเช่นเอ็นจินกฎจำนวนมากให้ความสามารถในการกำหนดกฎด้วยคำอธิบายที่คล้ายกับภาษาอังกฤษซึ่งสามารถใช้ช่องว่างในตัวระบุได้


3

FWIW, Tcl อนุญาตให้มีช่องว่าง (และตัวละครอื่น ๆ ทุกตัว) ในตัวระบุแม้ว่าจะไม่ใช่เรื่องปกติที่จะใช้ประโยชน์จากคุณลักษณะนี้ เหตุผลหลักที่ไม่ได้ใช้บ่อยคือคุณต้องใช้ข้อความที่เหมาะสม ตัวอย่างเช่นต่อไปนี้ตั้งค่าตัวแปรชื่อ "my name" เป็น "bob" จากนั้นพิมพ์

set "my name" "bob"
puts "hello, ${my name}"

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



1

หากคุณพิจารณาการทดสอบภาษา DSL อัตโนมัติกรอบงานของหุ่นยนต์จะอนุญาตให้มีช่องว่างในชื่อคำหลักและเป็นเรื่องที่สำนวนมาก ในตัวอย่างต่อไปนี้ "Say hello" เป็นชื่อคำหลัก "ตัวอย่างกรณีทดสอบ" เป็นชื่อกรณีทดสอบและ "$ {ชื่อแรก}" เป็นตัวแปร:

*** Keywords ***
| Say hello | [Arguments] | ${first name}
| | log | Hello, ${first name}

*** Test Cases ***
| Example test case
| | Say hello | world

1

ภาษา 4Dช่วยให้พื้นที่สีขาวในชื่อวิธีการและตัวแปร โดยทั่วไปแล้วจะเป็นขมวดคิ้วภายในชุมชน แต่วิธีการและตัวแปรในตัวทั้งหมดใช้พวกเขาเมื่อมีการใช้งาน ( SET MENU ITEM PARAMETERตัวอย่างเช่น)


0

Smalltalk มีวิธีการคำหลักเช่นa:b:c:ที่เกี่ยวข้องกับช่องว่างเมื่อเรียก a: 100 b: 200 c: 300เช่น: นี่เป็นสำนวนมาตรฐานในภาษา



0

ฉันเห็นพูดถึงคล้ายกันสำหรับ VB แต่ใน JS นี้ใช้จริงมาก คุณสมบัติใด ๆ ของวัตถุใน JavaScript สามารถเข้าถึงและตั้งค่าในรูปแบบสตริงด้วยวงเล็บเหลี่ยมหรือเพียงแค่เป็นสตริงในวัตถุตัวอักษร ชื่อคุณสมบัติที่ไม่เป็นไปตามกฎการตั้งชื่อตัวแปร JS ไม่สามารถเข้าถึงได้ผ่าน โน้ต แต่มันมีประโยชน์ ตัวอย่างเช่นคุณอาจต้องการจับคู่ URL กับพฤติกรรมหรือการอ้างอิงกลุ่มบุคคลตามชื่อเมื่อคุณมั่นใจว่าพวกเขาไม่เหมือนใครทั้งหมด บ่อยครั้งมากที่สะดวกและอ่านง่าย:

var peoplesFavoriteThings = {
    "Bob Jones":"kittens",
    "Jane Doe":"chainsaws"
}

for(var name in peoplesFavoriteThings){
    console.log(name + ' likes ' + peoplesFavoriteThings[name] + '.\n');
}

สิ่งนี้ยังทำให้ง่ายต่อการปรับโครงสร้าง JSON เพื่อความสะดวกในการใช้งานโดยไม่สูญเสียปัจจัยแบบทันทีทันใดเมื่อปล่อยลงใน JS


ตลกที่นี่เป็นเพียงการกล่าวถึงของ JavaScript ใช่วิธีการและคุณสมบัติสามารถมีสตริง: foo['my method']()และfoo['my property']
Steve Bennett

0

Power Queryใช้โค้ดที่สร้างขึ้นจำนวนมากโดยอัตโนมัติ ฉันเดาว่าตัวระบุที่สร้างขึ้นมากกว่าครึ่งใช้พื้นที่สีขาว:

let
    Source = Sql.Database(".", "Test"),
    dbo_pvt = Source{[Schema="dbo",Item="pvt"]}[Data],
    #"Filtered Rows" = Table.SelectRows(dbo_pvt, each [VendorID] <= 4),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Emp1", "Emp2"}),
    #"Grouped Rows" = Table.Group(#"Removed Columns", {"Emp3", "Emp4"}, {{"Count", each List.Sum([Emp5]), type number}})
in
    #"Grouped Rows"

อย่างที่คุณเห็นเช่นในหลาย ๆ ภาษามีไวยากรณ์พิเศษที่ทำให้เข้าใจผิดว่าตัวระบุคืออะไร

แต่ในสถานที่ที่ไม่คลุมเครือไม่จำเป็นต้องใช้ไวยากรณ์เพิ่มเติม:

let
    spaceRecord = [with space = 42, recursive record = @spaceRecord],
    drilldown = spaceRecord[recursive record][recursive record][recursive record][with space]
in
    drilldown   // 42


-1

การเขียนโปรแกรมภาษา o42a ฉันกำลังพัฒนารองรับชื่อหลายคำ ภาษาไม่มีคำหลักเลยและชื่อมักจะคั่นด้วยสัญลักษณ์บางอย่าง ในกรณีที่เกิดขึ้นได้ยากชื่อทั้งสองจะติดตามกันขีดเส้นใต้จะถูกใช้เพื่อคั่นพวกเขา


-2

Authorware ซึ่งภาษาการเขียนสคริปต์นั้นใช้ภาษา Pascal ที่ไม่เน้นวัตถุ แต่อนุญาตให้มีช่องว่างในชื่อตัวแปร แต่เมื่อเวลาผ่านไปผู้คนค้นพบปัญหาในการใช้งานพวกเขาและย้ายไปจากhttp://books.google.com/books?id= bHC88YignAkC


-4

แก้ไข: คำตอบนี้แสดงว่าไม่ถูกต้องโปรดดูความคิดเห็น

หากฉันเข้าใจคำถามของคุณอย่างถูกต้องคอมไพเลอร์ไม่สามารถอนุญาตช่องว่างในชื่อตัวระบุได้เนื่องจากอาจทำให้ชื่อซ้ำกัน (เว้นแต่จะใช้ตัวคั่น) ตัวอย่างเช่น:

int my = 0; บูล my count = false; int count = 0; ถ้า (การนับของฉัน) ...

คำว่า 'การนับของฉัน' ทำให้สับสนอาจหมายถึงตัวแปรที่เรียกว่า 'การนับของฉัน' หรือผู้พัฒนาอาจลืมเขียนโอเปอเรเตอร์ความสัมพันธ์เช่น> ระหว่างฉันกับการนับ

COBOL อนุญาตให้ชื่อส่วนและชื่อส่วนถูกคั่นด้วยช่องว่าง แต่ไม่ใช่ตัวระบุและตัวแปรตามคำถามของคุณ


4
มันไม่ใช่คอมไพเลอร์ แต่เป็นนิยามภาษา ภาษาส่วนใหญ่ไม่สามารถอนุญาตช่องว่างในตัวระบุเพราะพวกเขาจะสร้างความกำกวม
Steve Bennett

2
การให้เหตุผลของคุณดูเป็นเรื่องลำบากสำหรับฉัน ในตัวอย่างของคุณทางเลือกเดียวที่จะmy Countเป็นชื่อตัวแปรจะเป็นโปรแกรมเมอร์ที่มีการพิมพ์ผิด นั่นไม่ใช่ความกำกวม ความคลุมเครือจะเกิดขึ้นหากมีอีกวิธีที่ถูกต้องในการแยกวิเคราะห์การแสดงออก โดยให้เหตุผลเดียวกับที่คุณอาจจะบอกว่าการอนุญาตให้a(b+c)คลุมเครือเพราะบางทีโปรแกรมเมอร์ลืมและมีความหมายจริงๆ> a > (b + c)
sepp2k

1
แต่ (ในภาษาที่อนุญาตให้มีช่องว่างในชื่อตัวแปร) ก็ไม่มีความกำกวมif (my count)เช่นกัน คุณไม่ได้กำลังพูดว่ามีวิธีที่แตกต่างและถูกต้องในการแยกคำสั่งนั้น (ซึ่งหมายความว่ามันไม่ชัดเจน) คุณกำลังบอกว่าถ้าคุณเพิ่มตัวละคร<คุณจะจบลงด้วยการแยกที่แตกต่างกันและถูกต้อง และฉันกำลังบอกว่าถ้าคุณเพิ่มตัวละคร<ให้a(b+c)คุณก็ต้องจบลงด้วยการแยกวิเคราะห์ที่ถูกต้อง
sepp2k

1
@SteveBennett ถูกต้อง ภาษาใด ๆ ที่อนุญาตให้มีการเว้นวรรคในชื่อตัวแปรอาจไม่อนุญาตให้ใช้ในชื่อประเภทหรือใช้ไวยากรณ์ที่แตกต่างกันสำหรับการประกาศประเภท (เช่นพูดvar name of the variable : type of the variable) - หรือไม่มีการประกาศประเภทเลย
sepp2k

1
@ sepp2k ตอนนี้ฉันได้คะแนนของคุณแล้ว ขอบคุณที่สละเวลาเพื่อให้ชัดเจน คำตอบของฉันไม่ถูกต้อง
NoChance
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.