การบังคับสตริงให้เป็นจำนวนเต็มใน GolfScript


12

GolfScript ประสานค่าโดยอัตโนมัติตามลำดับ 'ลำดับความสำคัญ' ต่อไปนี้:

จำนวนเต็ม→อาร์เรย์→สตริง→บล็อก

(แสดงจากต่ำสุดไปสูงสุด)

ซึ่งหมายความว่า"1"7+ปล่อยให้สตริง"17"บนสแต็ก (ไม่ใช่8) เนื่องจากสตริงมีลำดับความสำคัญสูงกว่าจำนวนเต็ม

[ สำหรับทหารผ่านศึก GolfScript เหล่านั้น - ขอโทษที่ดูถูกความฉลาดของคุณ ]

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


name:~ args:1 functions:bitwise not, dump, eval
Leun Nun

นี้8จะช่วยให้
Leun Nun

@LeakyNun; ดี! คุณต้องการที่จะใส่คำตอบนี้หรือไม่? ฉันยอมรับมันอย่างแน่นอน
digitalis_


@downvoter; คุณช่วยกรุณาแสดงความคิดเห็นเพื่ออธิบายว่าทำไมคุณถึงได้ลงคะแนน?
digitalis_

คำตอบ:


10

มีผู้ประกอบการ~ใน golfscript bitwise not, dump, evalซึ่งจะต่อไปนี้:

ดังนั้น"1"จะให้สตริง"1"ในขณะที่"1"~จะประเมินสตริงนั้น (เป็นจำนวนเต็ม1)

"1"~7+แล้วสิ่งที่คุณต้องทำคือ

ลองออนไลน์!


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