คำถามติดแท็ก parsing

แท็กนี้แสดงถึงความท้าทายที่การแยกวิเคราะห์อินพุตมีขนาดใหญ่ / ส่วนหลักของความท้าทาย

10
การถอดรหัสระบบ Kaadi
คุณได้พบกับต้นฉบับอินเดียโบราณเล่มหนึ่งที่อธิบายถึงสมบัติที่ฝังอยู่ ต้นฉบับยังบอกตำแหน่งของสมบัติให้คุณยกเว้นว่ามีการเข้ารหัสตัวเลขสำคัญบางอย่างในทางอ้อม คุณเข้าใจว่าข้อความใช้ระบบ 'Kaadi' ซึ่งเป็นชุดย่อยที่ จำกัด ของระบบ 'Katapayadi' ที่ใช้กันทั่วไปมากกว่า ( ระบบKatapayadiเป็นระบบอินเดียโบราณเพื่อเข้ารหัสตัวเลขเป็นตัวอักษรมักใช้เป็นช่วยในการจำหมายเลขยาว) งานของคุณที่นี่คือการถอดรหัสข้อความที่เข้ารหัสในระบบ Kaadi และพิมพ์ค่าตัวเลข รายละเอียด อักขระอินพุต ระบบ Kaadi นั้นใช้กฎของระบบ Katapayadiแต่ใช้พยัญชนะแถวแรกเท่านั้น ข้อความของคุณที่นี่ถูกถอดอักษรเป็นอักษรละตินและเป็นที่รู้กันว่ามีเพียง: สระ 'a', 'e', ​​'i', 'o', 'u' พยัญชนะ 'g', 'k', 'c', 'j' และรูปแบบทุนของพวกเขา (เพื่อเป็นตัวแทนรูปแบบสำลักของพยัญชนะเหล่านั้น) และ 'ṅ' และ 'ñ' (คุณอาจเลือกที่จะรับและจัดการ 'ṅ' เป็น 'ng' และ 'ñ' เป็น 'ny' หากสะดวกกว่าในภาษาของคุณ) การกำหนดค่า ในระบบนี้ แต่ละพยัญชนะเมื่อตามด้วยเสียงสระมีตัวเลขที่เกี่ยวข้อง …

14
ผลรวมสะสมแบบวนซ้ำของ [N] ด้วยการวนซ้ำ M
ใช้จำนวนเต็มบวกสองจำนวนNแล้วMสร้างผลบวกสะสม[N]โดยมีMการวนซ้ำ เอาต์พุตผลลัพธ์ของการวนซ้ำล่าสุด คำจำกัดความของผลรวมสะสมตัดแบ่ง: เริ่มต้นด้วยตัวเลขNและกำหนดลำดับX = [N] ผนวกกับXผลรวมสะสมของX ทำซ้ำขั้นตอนที่ 2 Mครั้ง ผลรวมสะสมของเวกเตอร์X = [x1, x2, x3, x4]คือ: [x1, x1+x2, x1+x2+x3, x1+x2+x3+x4]. ตัวอย่างด้วยN = 1และM = 4: P = ฟังก์ชันผลรวมสะสม M = 0: [1] M = 1: [1, 1] - X = [1, P(1)] = [[1], [1]] M = 2: [1, 1, …
14 code-golf  number  sequence  code-golf  number  sequence  code-golf  binary-matrix  code-golf  math  tips  javascript  algorithm  code-golf  string  code-golf  number  sequence  code-golf  math  arithmetic  parsing  code-golf  number  sequence  primes  code-golf  string  ascii-art  geometry  integer  code-golf  geometry  code-golf  number  array-manipulation  code-golf  math  geometry  code-golf  number  sequence  arithmetic  integer  code-golf  string  kolmogorov-complexity  code-golf  number  code-golf  number  chess  code-golf  sequence  decision-problem  subsequence  code-golf  math  number  primes  code-golf  primes  permutations  code-golf  integer  probability-theory  statistics  code-golf  string  code-golf  sequence  decision-problem  parsing  board-game  code-golf  binary  graph-theory  code-golf  board-game  classification  tic-tac-toe  code-golf  ascii-art  polyglot  code-golf  date  code-golf  geometry 

4
แก้ปัญหาสัญกรณ์คณิตศาสตร์
ลองนึกภาพฉันมีปัญหาการบ้านจำนวนอนันต์ (!) แต่ละข้อให้เป็นจำนวนเต็ม สัญลักษณ์ปัญหาคณิตศาสตร์เป็นสัญลักษณ์สำหรับอธิบายชุดย่อยของปัญหาโดยใช้ตัวระบุปัญหา นิพจน์ MPN อาจประกอบด้วยหลายสิ่ง: ค่าเดียว 99 -> {99}นี้แสดงให้เห็นชุดที่มีจำนวน: ช่วงที่เรียบง่าย 10~13 -> {10, 11, 12, 13}นี้แสดงให้เห็นชุดที่มีตัวเลขทั้งหมดจากจุดเริ่มต้นถึงจุดสิ้นสุดของช่วง: หากด้านซ้ายหรือด้านขวาหายไปแสดงว่าเป็นอินฟินิตี้หรืออินฟินิตี้ตามลำดับ: ~10 -> {x|x ≤ 10}; ~ -> ℤ. นิพจน์ MPN ตามด้วย "skip" และนิพจน์ MPN อื่น 10~20 skip 12~14 -> {10, 11, 15, 16, 17, 18, 19, 20}แสดงให้เห็นถึงความแตกต่างนี้ของทั้งสองชุด: นิพจน์ MPN สองนิพจน์คั่นด้วยเครื่องหมายจุลภาค สิ่งนี้แสดงถึงการรวมกันของสองชุด: …

13
รหัสการแก้ไขตัวเองอย่างถาวร
ตอนนี้เราทุกคนรู้ว่าภาษาส่วนใหญ่มีวิธีง่าย ๆ ในการ "แก้ไขตัวเอง" รหัส อย่างไรก็ตามจะเกิดอะไรขึ้นถ้าคุณต้องแก้ไขรหัสและแก้ไขบางส่วน ... บนดิสก์ เป้าหมายของคุณคือการสร้างรหัสที่พิมพ์ตัวเลขจากนั้นแก้ไขไฟล์ของตัวเองเพื่อแทนที่ตัวเลขด้วยหมายเลขถัดไปในลำดับฟีโบนักชีดังนี้: $ ./program 1 $ ./program 1 $ ./program 2 $ ./program 3 $ ./program 5 [etc...] กฎระเบียบ คุณไม่สามารถจัดเก็บหมายเลข "นอก" ของรหัสได้ ไม่มีความคิดเห็นไม่บอกสคริปต์ให้ออกไม่มี EOF ฯลฯ หากรหัสของคุณทำงานกับชื่อไฟล์ใด ๆ ให้ลบ 2 จากจำนวนไบต์และเขียน$BYTESNOW ($ORIGINALBYTES - 2)ชื่อของคุณ (ชื่อไฟล์จะถือว่าอยู่ในช่วงของพา ธ ไฟล์ตัวอักษรและตัวเลขใด ๆ ) รหัสของคุณจะต้องเขียนผลลัพธ์ไปยังไฟล์ด้วยตัวมันเองโดยไม่ต้องมีการช่วยเหลือจากภายนอก รหัสของคุณสามารถเริ่มจากหนึ่งหรือศูนย์ มันไม่สำคัญ

4
สร้างเครื่องมือแสดงความคิดเห็นที่เรียบง่าย
ท้าทาย: บาง ASCII-art เป็นความเจ็บปวดที่จะทำ แต่ทำให้ความคิดเห็นรหัสง่ายต่อการอ่านโดยเฉพาะอย่างยิ่งเมื่อรหัสมีความหนาแน่น ความท้าทายคือการสร้างเครื่องมือง่าย ๆ ที่แปลงความคิดเห็นเป็น ASCII แบบง่าย ๆ ด้วยลูกศร ความคิดเห็นเพื่อแก้ไขถูกคั่นด้วยความคิดเห็นที่ว่างเปล่า ตัวอย่างเช่นสมมติว่าไวยากรณ์ความคิดเห็น Haskell แปลงสิ่งนี้: -- -- Here's a thing -- Here's another thing -- The most important thing -- * * * -- f x=x+1*x*1*1*0 สำหรับสิ่งนี้: -- /------------< Here's a thing -- | /-------< Here's another thing -- …

12
และทุกคนพูดว่า ...
วัตถุประสงค์รับอินพุตของข้อความที่ไม่มีอักขระ[หรือ]ดำเนินการต่อไปนี้: สำหรับทุกอินสแตนซ์ที่Amenมีอักษรตัวใหญ่อย่างน้อยหนึ่งตัว (ดังนั้นอินสแตนซ์ทั้งหมดของการAmenยกเว้นamen) ให้แสดงผลลัพธ์ที่เหมือนกันAmen(รักษาการใช้อักษรตัวพิมพ์ใหญ่) สำหรับทุก ๆ อินสแตนซ์ของ/all the people said[?: ]/i(นั่นคือนิพจน์ปกติ) ก็เอาท์พุทAmen(กรณีใด ๆ ก็ได้) หลังจากเอาต์พุตทุกตัวคุณสามารถเลือกตัวคั่นค่าคงที่เช่นบรรทัดใหม่เว้นวรรคหรืออะไรก็ได้ นี่คือรหัสกอล์ฟดังนั้นโปรแกรมที่สั้นที่สุดในหน่วยไบต์ชนะ ตัวอย่าง IOs Input: I said AMEN! AMEN, PEOPLE! Output: AMENAMEN ; any separator is fine, I choose none. Input: amen amen amen amen Output: ; nothing Input: ; empty Output: ; nothing Input: *blah …

1
การนับโซ่ของคันนิงแฮม
ตัวเลขที่สำคัญทำให้ผู้คนหลงใหล 2300 ปีที่แล้ว Euclid เขียนใน "Elements" ของเขา จำนวนเฉพาะคือสิ่งที่วัดโดยหน่วยเดียว ซึ่งหมายความว่านายกสามารถหารด้วย1(หรือด้วยตัวเอง) เท่านั้น ผู้คนมักจะมองหาความสัมพันธ์ระหว่างจำนวนเฉพาะและเกิดขึ้นกับบางสิ่งที่แปลก (เช่นใน "น่าสนใจ") ตัวอย่างเช่นนายก Sophie Germainเป็นนายกpที่2*p+1สำคัญเช่นกัน นายกปลอดภัยเป็นนายกpที่(p-1)/2ยังเป็นนายกรัฐมนตรีซึ่งเป็นว่าสภาพข้างหลังของนายกโซฟีต์แชร์กแมง สิ่งเหล่านี้เกี่ยวข้องกับสิ่งที่เรากำลังมองหาในการท้าทายนี้ ห่วงโซ่คันนิงแฮมของประเภทที่เป็นชุดของจำนวนเฉพาะที่องค์ประกอบยกเว้นคนสุดท้ายทุกคนจะเป็นนายกโซฟีต์แชร์กแมงและองค์ประกอบยกเว้นคนแรกที่ทุกคนเป็นนายกปลอดภัย จำนวนขององค์ประกอบในครั้งนี้มีห่วงโซ่ที่เรียกว่ามันยาว ซึ่งหมายความว่าเราเริ่มต้นด้วยการลากและคำนวณp q=2*p+1ถ้าqเป็นไพร์มด้วยเรามี Cunnigham chain ของ type I ที่มีความยาว 2 จากนั้นเราจะทดสอบ2*q+1และต่อไปเรื่อย ๆ จนกระทั่งจำนวนที่สร้างขึ้นถัดไปเป็นคอมโพสิต โซ่คันนิงแฮมประเภทIIสร้างขึ้นตามหลักการเดียวกันเกือบทั้งหมดความแตกต่างเพียงอย่างเดียวคือเราตรวจสอบ2*p-1แต่ละขั้นตอน โซ่คันนิงแฮมสามารถมีความยาว 1ซึ่งหมายความว่า 2 * p + 1 หรือ 2 * p-1 ไม่สำคัญ เราไม่ได้สนใจในสิ่งเหล่านี้ ตัวอย่างบางส่วนของ Cunningham chains 2เริ่มสายโซ่ประเภทที่ฉันมีความยาว …

6
ข้อผิดพลาดในการปัดเศษออกควบคุม
พื้นหลัง คุณเพิ่งได้รับการว่าจ้างจาก บริษัท บัญชีขนาดเล็ก โลกของการบัญชีนั้นค่อนข้างต่างกับคุณดังนั้นคุณไม่แน่ใจว่าคุณกำลังทำตามแนวทางวิชาชีพทั้งหมดหรือไม่ โดยเฉพาะอย่างยิ่งคุณไม่ทราบว่าเมื่อใดที่คุณควรปัดเศษตัวเลขเหล่านั้นทั้งหมดและไปในทิศทางใดดังนั้นเวลาส่วนใหญ่ที่คุณเพิ่งจะใช้และหวังว่าจะได้สิ่งที่ดีที่สุด อินพุต อินพุตของคุณเป็นสตริงเดี่ยวที่แสดงถึงการคำนวณอย่างง่าย +-*/มันมีตัวเลขของจำนวนเต็มไม่ติดลบบางส่วนคั่นด้วยตัวอักษร สตริงอ่านจากซ้ายไปขวาและกฎความสำคัญปกติจะถูกละเว้นดังนั้น"23+1*3/4"หมายความว่า "เริ่มต้นด้วย 23 เพิ่ม 1 คูณด้วย 3 และหารด้วย 4" ผลลัพธ์คือ 18 อินพุตจะไม่ประกอบด้วยตัวเลขที่ขึ้นต้นด้วย0(ยกเว้น0ตัวเอง) หรือหารด้วยศูนย์ เอาท์พุต ในแต่ละขั้นตอนของการคำนวณคุณสามารถปัดเศษผลลัพธ์ขึ้นหรือลงให้เป็นจำนวนเต็มที่ใกล้เคียงที่สุดหรือเก็บตามที่มันเป็น ในที่สุดคุณปัดขึ้นหรือลงเพื่อให้ได้ผลลัพธ์จำนวนเต็ม ผลลัพธ์ของคุณคือรายการจำนวนเต็มที่อาจเป็นผลมาจากการคำนวณเรียงลำดับและไม่มีการซ้ำซ้อน กฎระเบียบ คุณสามารถเขียนโปรแกรมเต็มหรือฟังก์ชั่น จำนวนไบต์ต่ำสุดที่ชนะและช่องโหว่มาตรฐานไม่ได้รับอนุญาต กรณีทดสอบ "42" -> [42] "2+0+4-0" -> [6] "23+1*3/4" -> [18] "5/2" -> [2,3] "5/2+7/3*6-1" -> [17,18,19,23] "23/2/2*30-170/3" -> [-7,-6,-2,-1,0,1,3,4] "1/3*2*2*2*2*2*2" -> …

12
ทิศทาง Brainf * ckish
งานของคุณ - หากคุณเลือกที่จะยอมรับมัน - คือการสร้างโปรแกรมที่แยกวิเคราะห์และประเมินสตริง (จากซ้ายไปขวาและความยาวตามอำเภอใจ) ของโทเค็นที่ให้ทิศทาง - ซ้ายหรือขวา ต่อไปนี้เป็นโทเค็นที่เป็นไปได้ทั้งสี่และความหมาย: > go right one single step < go left one single step -> go right the total amount of single steps that you've gone right, plus one, before you previously encountered this token and reset this counter to zero <- …

3
ไม่รู้จักสตริง Pythlike
Pyth เป็นภาษาการเล่นกอล์ฟทั่วไปที่ประสบความสำเร็จมากที่สุด แม้ว่าจะค่อนข้างลดลงเนื่องจากภาษาใหม่กว่าจากปี 2014 ถึง 2016 ไวยากรณ์ที่รัดกุมของ Pyth, การอัปเดตอย่างต่อเนื่อง, การบรรทุกเกินพิกัดและ (สำหรับยุคของมัน) ตัวสร้างจำนวนมากทำให้เป็นที่ชื่นชอบสำหรับคำถามส่วนใหญ่ รหัส Pyth มักจะอ่านยาก แม้เอาต์พุตของโหมดดีบัก (transpiled Python) มักจะประกอบด้วยบรรทัดยาวบางครั้งมีวงเล็บซ้อนกันสิบลึก อย่างไรก็ตามการจัดรูปแบบ Pyth ในรูปแบบที่ถูกต้องสามารถอ่านได้มาก นี่เป็นชิ้นส่วนของรหัส Pyth เขียนโดย @isaacg ในการเล่นห่วงโซ่ของ Word .MlZfqhMtTeMPT+Lzs.pMyQ มันอ่านง่ายกว่านี้มาก .M Filter by gives-maximal-value of l Z lambda Z:length(Z) over f filter by (lambda T: q equal hM t T …

30
กู้กำลังสำคัญจากพลังพิเศษ
คำจำกัดความ : พลังพิเศษเป็นจำนวนธรรมชาติที่สามารถแสดงในรูปแบบ p nโดยที่ p คือจำนวนเฉพาะและ n เป็นจำนวนธรรมชาติ ภารกิจ : เมื่อได้รับพลังพิเศษ p n > 1 ให้คืนค่านายกรัฐมนตรี ทดสอบ : input output 9 3 16 2 343 7 2687 2687 59049 3 เกณฑ์การให้คะแนน : นี่คือรหัสกอล์ฟ คำตอบที่สั้นที่สุดในการชนะไบต์
13 code-golf  arithmetic  primes  king-of-the-hill  python  board-game  code-golf  number  subsequence  code-golf  ascii-art  code-golf  array-manipulation  decision-problem  grid  fastest-algorithm  logic-gates  logic  code-golf  cards  code-golf  rational-numbers  code-golf  math  number  sequence  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  code-golf  number  sequence  decision-problem  code-golf  ascii-art  number  code-challenge  sequence  arithmetic  sorting  code-golf  date  fastest-algorithm  code-golf  string  number  random  combinatorics  code-golf  combinatorics  code-golf  ascii-art  base-conversion  code-golf  array-manipulation  code-golf  string  code-golf  string  number  arithmetic  code-golf  kolmogorov-complexity  code-golf  string  array-manipulation  json  code-golf  puzzle-solver  code-golf  binary  graph-theory  code-golf  arithmetic  haskell  code-golf  string  cipher  code-golf  code-golf  string  parsing  alphabet  code-golf  string  code-golf  ascii-art  code-golf  string  number  code-golf  string  balanced-string 

11
ตีความช่วงหลวม
ตีความช่วงหลวม ListSharpเป็นภาษาการเขียนโปรแกรมตีความที่มีคุณสมบัติมากมายหนึ่งในคุณสมบัติเหล่านั้นเป็นผู้สร้างช่วงดัชนี 1 ที่ทำงานเช่นนี้: คุณกำหนดช่วงเป็น(INT) TO (INT)หรือ(INT)ที่ทั้งสองหรือ int เดียวสามารถไปจากค่า min ถึงmax int32 จากนั้นคุณสามารถใช้ช่วงเหล่านั้นเพื่อแยกองค์ประกอบของอาร์เรย์โดยไม่ต้องกลัวที่จะก้าวล้ำขอบเขตของมัน ดังนั้น: 1 TO 5 สร้าง: {1,2,3,4,5} 3 สร้าง: {3} สามารถเพิ่มช่วงได้โดยใช้ANDโอเปอเรเตอร์ 1 TO 5 AND 3 TO 6 สร้าง: {1,2,3,4,5,3,4,5,6} จำได้ว่ามันใช้ได้กับจำนวนลบเช่นกัน 3 TO -3 สร้าง: {3,2,1,0,-1,-2,-3} ความท้าทายมีดังต่อไปนี้: อินพุต อาร์เรย์อักขระและประโยคช่วงที่กำหนดไว้ก่อนหน้าเป็นสตริง เอาท์พุต องค์ประกอบที่ 1 ตามดัชนีตำแหน่งของช่วง (ดัชนีที่ไม่อยู่ / ลบที่มีอยู่แปลเป็นอักขระว่าง) วิธีที่จะชนะ ในฐานะที่เป็นความท้าทายของcode-golfคุณควรสร้างโปรแกรมด้วยจำนวนไบต์ที่สั้นที่สุดที่จะชนะ …
13 code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

1
แยกวิเคราะห์ภาษา 1D
รับสตริงที่มีเพียง 0 ของ 1, 2 และวงเล็บส่งออกต้นไม้ไวยากรณ์ของสตริง A 2ต้องการ 2 อาร์กิวเมนต์ - หนึ่งทางซ้ายและอีกหนึ่งทางขวา 1ต้องอาร์กิวเมนต์เดียว - ทั้งด้านซ้ายหรือขวา 0ไม่จำเป็นต้องมีข้อโต้แย้งใด ๆ และเป็นกรณีฐาน คู่ของวงเล็บจะนับเป็นหนึ่งอาร์กิวเมนต์และเนื้อหาของวงเล็บจะถูกประเมินแยกจากส่วนที่เหลือของสตริง วงเล็บเหลี่ยมที่เป็นไปได้ สตริงอินพุตจะเป็นต้นไม้ที่สมบูรณ์โดยไม่มีตัวอักษรตกลงมา สตริงจะมีโซลูชันที่ถูกต้องเพียงครั้งเดียวเท่านั้น โปรดทราบว่าฟังก์ชั่นเป็นสลับและการจัดเรียงของข้อโต้แย้งใด ๆ ที่2จะได้รับการยอมรับ คุณจะไม่ต้องจัดการกับอินพุตที่ไม่เป็นไปตามข้อกำหนดเหล่านี้ รูปแบบไวยากรณ์เอาต์พุตจะอยู่ในรูปแบบfunction(arguments)วนซ้ำ กรณีทดสอบ 0 --> 0 01 --> 1(0) 020 --> 2(0,0) 101 --> 1(1(0)) 0120 --> 2(1(0),0) 0120210 --> 2(1(0),2(0,1(0))) 01210 --> 2(1(0),1(0)) (020)210 …

3
ฉันปีนขึ้นไปได้เท่าไหร่
ในคำศัพท์การปีนเขา "14er" เป็นภูเขาใด ๆ ที่มีระดับความสูง 14,000 ฟุตขึ้นไป อย่างไรก็ตามมีความแตกต่างอื่น สำหรับจุดสูงสุดที่จะนับเป็น 14er ก็จะต้องมี "ความโดดเด่นทางภูมิศาสตร์" 300 หรือมากกว่าฟุต ซึ่งหมายความว่าหากต้องการย้ายจากที่หนึ่งไปอีกที่หนึ่ง 14er คุณต้องลงมาอย่างน้อย 300 ฟุตก่อนจะลุกขึ้นอีกครั้ง นำตัวอย่างนี้ บรรทัดที่ 1 นับเป็น 14,000 ฟุตและแต่ละบรรทัดนับเป็น 100 ฟุต /\__/\ / \ / \ ตอนนี้ยอดเขาทั้งสองนี้มีระดับความสูงพอที่จะนับได้ แต่ไม่มีระดับความสูงที่ลดลงระหว่างพวกเขาที่จะนับเป็นยอดเขาสองแยก ดังนั้นหนึ่งในจำนวนเหล่านี้นับเป็น 14er และอีกอันหนึ่งเป็นเพียง "ยอดบางส่วน" นี่คือตัวอย่างที่ยอดเขาทั้งสองนับเป็น 14er แยกกัน: /\ /\ / \ / \ / \/ \ …

1
แก้ไขตัวแปรแมโคร SAS
ภาษาการเขียนโปรแกรม SASเป็น clunky โบราณภาษาย้อนหลังไปถึง 1966 ที่ยังคงใช้อยู่ในปัจจุบัน คอมไพเลอร์ดั้งเดิมเขียนด้วยPL / Iและแน่นอนว่าไวยากรณ์ส่วนใหญ่มาจาก PL / I SAS ยังมีภาษามาโครตัวประมวลผลล่วงหน้าซึ่งมาจากPL / Iเช่นกัน ในความท้าทายนี้คุณจะตีความองค์ประกอบง่ายๆของภาษาแมโคร SAS ในภาษาแมโคร SAS ตัวแปรแมโครจะถูกกำหนดโดยใช้คำหลักและการพิมพ์เข้าสู่ระบบจะทำด้วย%let %putงบสิ้นสุดด้วยเครื่องหมายอัฒภาค นี่คือตัวอย่างบางส่วน: %let x = 5; %let cool_beans =Cool beans; %let what123=46.lel"{)-++; ชื่อตัวแปรมาโครไม่คำนึงถึงขนาดตัวพิมพ์และตรงกับนิพจน์ทั่วไป/[a-z_][a-z0-9_]*/iเสมอ สำหรับจุดประสงค์ของการท้าทายนี้เราจะพูดดังนี้: ตัวแปรมาโครเท่านั้นที่สามารถเก็บค่าประกอบด้วยทั้งตัวอักขระ ASCII ยกเว้น ; , &และ% จะไม่มีช่องว่างนำหน้าหรือต่อท้ายในค่า ค่าจะไม่ยาวเกิน 255 อักขระ ค่าอาจว่างเปล่า วงเล็บและเครื่องหมายคำพูดในค่าอาจไม่ตรงกัน สามารถมีจำนวนช่องว่างใด ๆ ก่อนและหลัง=ใน%letคำสั่งและควรเว้นช่องว่างนี้ …

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