Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Век живи, век учись и максимусом помрёшь (https://javascript.ru/forum/offtopic/46477-vek-zhivi-vek-uchis-i-maksimusom-pomrjosh.html)

Tim 11.04.2014 11:53

Век живи, век учись и максимусом помрёшь
 
var myString = function () {
    /*
        многостройчный
        текст
        вот

        вроде всё просто но сам бы не догадался

        оно мне и не нужно, ибо кофескрипт.... но всё равно интересная штука
    */
}.toString().match(/\*((.|[\r\n])*)\*/)[1];

alert(myString);



p.s.: делимся интересными трюками

monolithed 11.04.2014 13:21

Tim,
https://github.com/monolithed/__doc__ :)

Tim 11.04.2014 14:13

/** @namespace Function.prototype.__doc__ */
Object.defineProperty(Function.prototype, '__doc__', {
	/** @this Function */
	get: function ( ) {
		'use strict';

		var comment = this.toString(),
		    __doc__ = '';

		if (comment = comment.match(/\/\*[!*]([^S\/]+)\*\//))
			__doc__ = comment[1];

		return __doc__;
	}
});


monolithed,
Да так интереснее


+++
ой, блин

https://avatars0.githubusercontent.com/u/803674?s=400

monolithed это ты??? о_0

monolithed 11.04.2014 14:17

Цитата:

Сообщение от Tim
monolithed это ты??? о_0

Это тайна покрытая мраком :D

Sweet 11.04.2014 14:47

monolithed,
function test() {
  /** S */
}

console.log(test.__doc__);
Отчего не любишь "S"?:)

Sweet 11.04.2014 14:59

Вообще, мне кажется более уместной такая регулярка:
/\/\*[!*]([\s\S]+?)\*\//

kobezzza 11.04.2014 15:11

Tim, чёт я не понял, а зачем этот хак может в принципе понадобится? это же какой то ад :)

Gozar 11.04.2014 15:30

Цитата:

Сообщение от kobezzza
это же какой то ад

+100500

Tim 11.04.2014 15:55

kobezzza, Gozar,
Я знаю, не провоцируйте холивар пож-та, лучше кусок интересного кода запостите

Maxmaxmaximus21 11.04.2014 16:44

fuck = "насиловать"

text = "
Этот текст написан на кофескрипте
Если хочется сахара то используйте его, а не пытайтесь #{fuck} js
"

и кстати, нет НИ ОДНОЙ логической причины прерывать строку красной строкой, совершенно очевидно что если кавычка не закрылась и идет красная строка, то эта красная строка часть текста. Я воспринмиаю эту нелепость как укоренившеюся ошибку парсера js.


Часовой пояс GMT +3, время: 04:55.