- 22, Oct 2024
- #1
Проблема"
Определить функцию
i: 777
(or other 3 letter name) which when called will log/print/write (whatever is the default for the language in question) both the instruction (as source) and the first argument. In other words:
console.log("i:", i)
Для всех практических целей результат i: 777
would be enough, but in some languages there are very specific reflection libraries for that, and that would be no challenge, so the entire instruction should be outputted.
Вдохновение
Вдохновением для этого послужило обсуждение меня и другого программиста, как раздражает то, что часто (с плохими отладчиками) вы пишете такие вещи, как i=777
j=333
log(i) //outputs: "log(i) 777"
log(i+j+1) //outputs: "log(i+j+1) 1111"
, next we made a (pretty crazy) javascript (node only) solution (it outputs log
а не всю строку исходного кода), которая была на удивление длинной и напомнила мне о код-гольфе и заставила меня задуматься, насколько лучше обстоят дела на других языках (особенно на код-гольфе).
Бонусы
-10%: Нет чтения файлов (кроме компилятора)
ПС. Это мой первый «вопрос» здесь, поэтому не стесняйтесь указывать на любые ошибки, которые я допустил.
#код-гольф