Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Hed-kun

Программирование, т. 6

Рекомендованные сообщения

Гость Camus

На самом деле, javascript потому что java была в то время популярна. А оригинальное назавние - Mocha (так и повелось, хех) а потом livescript. Тупо на популярности сыграли. Синтакс кстати сишный.

Поделиться сообщением


Ссылка на сообщение

В JS так вообще бросит эксепшн too much recursion, потому поддержка хвостовой рекурсии неочень.

Да вообще странно, когда такие задания на js'e дают. У нас бы сказали на каком-нить haskell'e написать, студентоту развлечь.

 

Все это одно и тоже, и все это программирование.

Приходишь такой на интервью или там на конференцию какую и гордо говоришь - Я html-программист!

Поделиться сообщением


Ссылка на сообщение

а у джавы чей синтаксис по-твоему?))


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
Гость Camus

В JS так вообще бросит эксепшн too much recursion, потому поддержка хвостовой рекурсии неочень.

Да вообще странно, когда такие задания на js'e дают. У нас бы сказали на каком-нить haskell'e написать, студентоту развлечь.

 

Все это одно и тоже, и все это программирование.

Приходишь такой на интервью или там на конференцию какую и гордо говоришь - Я html-программист!

Формочки часть программирования, странно спорить с этим.

 

а у джавы чей синтаксис по-твоему?))

))

Зачем синтакс с джавы слизывать, если он сишный?

Поделиться сообщением


Ссылка на сообщение

а js как работает. типа ты скачиваешь страницу по хттп, она приходит, а дальше что? типа в браузеры уже запилена поддержка ЖС + должна быть установлена джава в этой оси ? и тогда браузер инициализирует работу джава машины, которая выполняет код JS. и потом оно выдает просто статичный хтмл? или нет? что-то среднее (?), все еще содержа динамические элементы? и типа если юзверь по этим элементам кликает то браузер опять отправляет джава машине, опять там считается и выдает новую хтмл (но на той же странице как я понял) ?

Нихрена у тебя каша в голове) "Джава машина" - не jvm надеюсь имеешь ввиду. Изралетяни ответят на все твои вопросы.

никогда этим дерьмом не интересовался вот и каша.

 

а откуда название? когда начиналось чтоли все таки была доля джавы в этом или как?

а до того как в браузере встроеный js был как работало, на чем?

название мб потому, что чувак создал жс на коленке, название было думать влом. Синтаксис взял начальный из джавы, а сам язык интерпретируемый. В итоге и вышел джаваскрипт

Больше схожего ничего нет.

В каждом браузере находится свой интерпретатор джаваскрипта. Хтмл страница либо содержит в себе скрипты напрямую, либо указывает, откуда их скачать. И события страницы эти скрипты и вызвают.

Дальше только браузер ответственен за то, каким образом текст скрипта превратится в действие. Собственно в этом и есть часть холиваров между движками браузера, кто из них лучше поддерживает все стандарты и при этом быстрее всех исполняет жс.

 

 

 

 

 

 

 

 

А qt == html это просто :avtorklif:

 

Я ж там выше кидал ссылку, почему жс стал называться жс. Сам так и не дочитал, да и не старался запомнить, просто бегло пробежал.

вроде из-за того, что разработал был он для нетскейпа, и через пару переименований несткейп начал поддерживать жаву, или отошел к сан системс, или че то такое. вот и переименовали. Там на вики ссылка

Поделиться сообщением


Ссылка на сообщение

В JS так вообще бросит эксепшн too much recursion, потому поддержка хвостовой рекурсии неочень.

Да вообще странно, когда такие задания на js'e дают. У нас бы сказали на каком-нить haskell'e написать, студентоту развлечь.

 

Все это одно и тоже, и все это программирование.

Приходишь такой на интервью или там на конференцию какую и гордо говоришь - Я html-программист!

Формочки часть программирования, странно спорить с этим.

 

а у джавы чей синтаксис по-твоему?))

))

Зачем синтакс с джавы слизывать, если он сишный?

зачем разделять еслди у них один синтаксис

 

очень крутые котейки

RqvSzvr.png


Кому-то пизды дал - нужно сделать скрин обязательно. (с) Solo

Поделиться сообщением


Ссылка на сообщение
Гость Camus

Очень смешно

Поделиться сообщением


Ссылка на сообщение

/* squeeze: удаляет все с из s */
void squeeze(char s[], int с)
{
int i, j;
for (i = j = 0; s[i] != '\0'; i++)
 if (s[i] != c)
	 s[j++] = s[i];//вылетает на этой строчке
s[i] = '\0';
}

почему эта функция - взята из книги Кернигана Ритчи - отказывается работать

Поделиться сообщением


Ссылка на сообщение

почему эта функция - взята из книги Кернигана Ритчи - отказывается работать

http://cpp.sh/4r67 niet

Поделиться сообщением


Ссылка на сообщение

Потому что ты ее неправильно вызываешь.

 

А на том сайте кстати странный баг. Установка '\0' игнорируется и выводит всю покореженную строку, а не только замененную часть :hmm:


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

она не игнорируется

там просто индекс неверный

должно быть

s[j] = '\0';

а не

s = '\0';

иначе оно ставит его всегда туда где он уже стоит, а надо в конец новой строки, т.е. j++ после там где последний раз шифтнулась буква

Поделиться сообщением


Ссылка на сообщение

вообще, должно быть

void squeeze(std::string& s, char c) {

s.erase(std::remove(s.begin(),s.end(),c),s.end());

}

Поделиться сообщением


Ссылка на сообщение

она не игнорируется

там просто индекс неверный

должно быть

s[j] = '\0';

а не

s = '\0';

иначе оно ставит его всегда туда где он уже стоит, а надо в конец новой строки, т.е. j++ после там где последний раз шифтнулась буква

это да

почему эта функция - взята из книги Кернигана Ритчи - отказывается работать

http://cpp.sh/4r67 niet

почему то же самое но с squeeze("qweerty", 'q'); Отказывается работать, я понимаю что в ориганале это массив char, а я передаю строку, но в чём конкретно ошибка?

Поделиться сообщением


Ссылка на сообщение

она не игнорируется

там просто индекс неверный

должно быть

s[j] = '\0';

а не

s = '\0';

иначе оно ставит его всегда туда где он уже стоит, а надо в конец новой строки, т.е. j++ после там где последний раз шифтнулась буква

ебать я слепой :avtorklif:

 

почему то же самое но с squeeze("qweerty", 'q'); Отказывается работать, я понимаю что в ориганале это массив char, а я передаю строку, но в чём конкретно ошибка?

в том что ты возможно неправильно передаешь?

код в студию


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

В плюсах есть аналог шарповской string.split()?

Прост мне надо сепарировать строку с числами и всякой хуетой и числа пушить в вектор. Ну и в векторе веселиться. Еще числа типа 0546 я так понял он читает будто число в 8ричной системе и чо с этим делать? Писать самому перевод в 10ную или есть в stl что- то для этого?


Тень огня четвертого поколения

Поделиться сообщением


Ссылка на сообщение

она не игнорируется

там просто индекс неверный

должно быть

s[j] = '\0';

а не

s = '\0';

иначе оно ставит его всегда туда где он уже стоит, а надо в конец новой строки, т.е. j++ после там где последний раз шифтнулась буква

ебать я слепой :avtorklif:

 

почему то же самое но с squeeze("qweerty", 'q'); Отказывается работать, я понимаю что в ориганале это массив char, а я передаю строку, но в чём конкретно ошибка?

в том что ты возможно неправильно передаешь?

код в студию

http://cpp.sh/3ej74

 

она не игнорируется

там просто индекс неверный

должно быть

s[j] = '\0';

а не

s = '\0';

иначе оно ставит его всегда туда где он уже стоит, а надо в конец новой строки, т.е. j++ после там где последний раз шифтнулась буква

и бтв я же правильно понимаю что при s[j]='\0' память же всё равно останется выделена под ненужные символы, из оригинальной строки идущие после j

Поделиться сообщением


Ссылка на сообщение

В плюсах есть аналог шарповской string.split()?

Прост мне надо сепарировать строку с числами и всякой хуетой и числа пушить в вектор. Ну и в векторе веселиться. Еще числа типа 0546 я так понял он читает будто число в 8ричной системе и чо с этим делать? Писать самому перевод в 10ную или есть в stl что- то для этого?

конкретно аналога сплита нету, но вообще чем он тебе для этой задачи поможет то? В гугле первая ссылка на СО кидает с кодом.

Написать функцию для твоей задачи самому - 10 строк где-то.

 

vector<vector> outputvectors

for ( it ... ; it < strsize ; ++it)

if (std::isdigit(str[it])

{

auto startit = it;

while ( it < strsize && std::isdigit(str[it]) )

++it;

vector<char> chars_of_value(str.begin() + startit, std.begin() + it);

output_vectors.emplace_back(chars_of_value);

}

 

return output_vectors;

 

 

конвертация систем исчисления... вроде на самая тяжелая вещь, написать ее совсем изи можно. Что-то похожее уже готовое пользовал, только не вспомню из стл или буста или обычного С. Не та вещь которую юзаешь каждый день.

Поделиться сообщением


Ссылка на сообщение
(изменено)

Да понятное дело это изи делается, цикл до конца строки, статиккаст то что между сепараторами и пушить в интовый вектор. Да и перевод изи делается. Просто у меня задача не из обретать велик на плюсах, а научиться писать на 11ых и осваивать стл. Спасибо

Хотя интересно во что статиккаст переведет, в инты или в интовый эквивалент в таблице 8битной (не помню название)

 


Изменено пользователем Matgen

Тень огня четвертого поколения

Поделиться сообщением


Ссылка на сообщение

 

http://cpp.sh/3ej74

 

 

и бтв я же правильно понимаю что при s[j]='\0' память же всё равно останется выделена под ненужные символы, из оригинальной строки идущие после j

 

так а зачем ты заново константу передаешь в метод, после того, как уже инициализировал ей же массив?

http://cpp.sh/8cdc

тот сайт вообще борзый и даже код с просто варнингами не дает исполнять.

 

 

 

да, правильно понимаешь, память никто не чистит. Просто функции вывода смотрят на \0 и дальше ничего не выводят.

Если хочешь и обрезать лишнее в памяти, можешь сделать что-то типа

 

char* newStr = strdup(str);

free(str);

Он должен сделать копию старой строку только по \0 и следовательно не копировать всё лишнее

 

Но тебе это не надо как минимум потому, что ты вообще не выделяешь память на куче. Освобождать то и нечего.


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение
(изменено)

Да понятное дело это изи делается, цикл до конца строки, статиккаст то что между сепараторами и пушить в интовый вектор. Да и перевод изи делается. Просто у меня задача не из обретать велик на плюсах, а научиться писать на 11ых и осваивать стл. Спасибо

ну тогда скачай последний стандарт и смотри секции algorithm / numeric / string.

если где и есть - то там.

но в 11 плюсах конкретно сплита не было, может в 14 появился. потому что его можно реализовывать несколькими методами, и в целом создатели плюсов не хотят добавлять функции которые возвращают контейнеры контейнеров. или контейнер чего-либо вообще, например пар итераторов. А тут по-другому никак.

если только юзать string::find_first_of( "0123456789", .. ) для нахождения первого численного, сохраняя конечную позицию каждый раз и передавая в качестве аргумента


Изменено пользователем Tinplz

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...