Memaksa string ke integer di GolfScript


12

GolfScript secara otomatis memaksa nilai, sesuai dengan urutan 'prioritas' berikut:

integer → array → string → blok

(terdaftar dari terendah ke tertinggi.)

Ini berarti "1"7+meninggalkan string "17"pada stack (dan bukan 8), karena string memiliki prioritas lebih tinggi daripada integer.

[ Kepada para veteran GolfScript itu - permintaan maaf karena telah menghina kecerdasan Anda masing-masing. ]

Bagaimana mungkin melakukan ini dengan cara lain? Artinya, memaksa string menjadi integer ?


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

Ini memberi 8.
Leaky Nun

@LeakyNun; Bagus! Apakah Anda ingin memberi jawaban ini? Saya pasti akan menerimanya.
digitalis_


@ downvoter; dapatkah Anda memberikan komentar yang menjelaskan mengapa Anda telah downvoted?
digitalis_

Jawaban:


10

Ada operator ~di golfscript, yang melakukan berikut: bitwise not, dump, eval.

Oleh karena itu, "1"akan memberikan string "1"sementara "1"~akan mengevaluasi string itu (ke dalam integer 1).

Lalu, yang perlu Anda lakukan adalah "1"~7+.

Cobalah online!


5
Perlu disebutkan bahwa ini adalah evalkode skrip golf, yang berarti misalnya "1.0"~melakukan sesuatu yang tidak terduga.
Lynn
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.