avva: (Default)
[personal profile] avva
Вот чего я никогда не понимал в программировании, так это как люди помнят все подробности месяцы и годы после того, как они этим пользовались. Какой синтаксис тут, как называется функция там. У меня это все подчистую исчезает из памяти максимум через полгода, а обычно быстрее. Типа, полгода не писал на Перле - забыл ВСЕ. Понадобился язык снова - вспоминаю... не как с нуля, понятно, но не особо легче, чем что-то, чем 10 лет не пользовался.

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




Очень солидарен с этим - прочел и рассмеялся, потому что буквально вчера писал что-то мелкое на Питоне и не мог вспомнить, как брать длину строки.

Re: длина строки

Date: 2017-02-28 04:31 pm (UTC)
From: [identity profile] prol-prolych.livejournal.com
Не сакральный, а самый приземлённый.
Длина строки - один из часто используемых примитивов работы со строками :о)

Re: длина строки

Date: 2017-02-28 04:55 pm (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split (from livejournal.com)
Так, давайте сначала.

В C довольно часто нужно знать, сколько байт занимает строка. В этом языке есть функция strlen, которая возвращает размер строки в байтах и прекрасно работает с utf-8. Ваш комментарий как бы намекает, что байты — это неправильные попугаи и нужны другие. Вот я и спрашиваю, какие и зачем?

Re: длина строки

Date: 2017-02-28 05:10 pm (UTC)
From: [identity profile] prol-prolych.livejournal.com
l = (strlen("privet") = strlen("привет"))

чему равно l?

Re: длина строки

Date: 2017-02-28 05:15 pm (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split (from livejournal.com)
strlen("privet") = strlen("привет")


Сообщение об ошибке компиляции. Нельзя присваивать значение результату функции.

strlen("privet") == strlen("привет")


Зависит от кодировки. C не предписывает никакой кодировки, но в UTF-8 это будет 0. Это представляет какую-то проблему?

Re: длина строки

Date: 2017-02-28 05:17 pm (UTC)
From: [identity profile] prol-prolych.livejournal.com
там нет присвоение, там сравнение целых :о)
или новые компиляторы требуют для целых == ?

Re: длина строки

Date: 2017-02-28 05:23 pm (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split (from livejournal.com)
Вы сколько лет не брали в руки C?

Re: длина строки

Date: 2017-02-28 06:24 pm (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split (from livejournal.com)
Тогда простительно. Сравнение в C обозначается сдвоенным равенством примерно с того момента, как Деннис Ричи его изобрел.

Re: длина строки

Date: 2017-02-28 06:33 pm (UTC)
From: [identity profile] prol-prolych.livejournal.com
1. Программирование - ето не та область, где может идти речь о прощении :о)))

2. Я твёрдо помню, что для чисел применялось = а для строк ==

Re: длина строки

Date: 2017-02-28 06:48 pm (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split (from livejournal.com)
Неправильно помните ;) это бывает. = это присваивание, == это сравнение для всех встроенных типов, для которых оно определено. Встроенных строк в C нет, сравнение для них это функция strcmp.

Re: длина строки

Date: 2017-02-28 06:53 pm (UTC)
From: [identity profile] prol-prolych.livejournal.com
не вижу предмета спора, компилятор увидит :о)))

Re: длина строки

Date: 2017-02-28 07:02 pm (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split (from livejournal.com)
Иногда увидит, но часто нет.

Re: длина строки

Date: 2017-02-28 07:05 pm (UTC)
From: [identity profile] prol-prolych.livejournal.com
Ну достаточно будет одного раза, чтобы потом так не делать.

Re: длина строки

Date: 2017-03-01 12:07 am (UTC)
From: [identity profile] aosypov.livejournal.com
Угу, а потом выискивать ТЕ САМЫЕ места, где прошло без вопросов и просто работает - неправильно, но незаметно.
From: [identity profile] bakabaka.livejournal.com
Да, после этого те программисты уже ничего не делали. ^_^

Re: длина строки

Date: 2017-02-28 05:20 pm (UTC)
From: [identity profile] prol-prolych.livejournal.com
что значит, зависит от кодировки? :о)))
разве тип string меняет длину данных в зависимости от данных динамически? :о)

Re: длина строки

Date: 2017-02-28 05:28 pm (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split (from livejournal.com)
Это значит, что строка, которая выглядит как "привет", может быть представлена с помощью разного количества байтов, в зависимости от используемой кодировки. Это удивительно? Нужна практическая демонстрация?

Re: длина строки

Date: 2017-02-28 05:38 pm (UTC)
From: [identity profile] prol-prolych.livejournal.com
То есть результат компиляции зависит от того в какой кодировке я сохраню исходник?

Типа если сохраню исходник в 1251, то будет один результат выполнения проги, а сохраню в утф-8, будет другой рехультат выполнения? :о)))

Интересно девки пляшут :о)

Re: длина строки

Date: 2017-02-28 06:20 pm (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split (from livejournal.com)
Вообще-то это зависит от execution character set, а не от source character set, это два разных параметра компиляции. Но идея правильная, да, другой.

Re: длина строки

Date: 2017-02-28 06:23 pm (UTC)
From: [identity profile] prol-prolych.livejournal.com
Ну вот, а вы спрашиваете, какое значение имеет единица измерения длины строки :о)))

Re: длина строки

Date: 2017-02-28 06:28 pm (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split (from livejournal.com)
Я совсем не это спрашиваю ;)

Re: длина строки

Date: 2017-02-28 06:29 pm (UTC)
From: [identity profile] prol-prolych.livejournal.com
Тогда я не понял вопроса, сори :о)

Re: длина строки

Date: 2017-02-28 06:43 pm (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split (from livejournal.com)
Я спрашиваю, кому может понадобиться измерять размер строки не в байтах, а в чем-то другом, и зачем. Единица измерения, как видите, важна, она должна быть байтом ;)

Re: длина строки

Date: 2017-02-28 06:48 pm (UTC)
From: [identity profile] prol-prolych.livejournal.com
Тем, кто пишет проги, работающие со строками. :о)
Единицей измерения длины строки байт служить не может, как мы уже увидели :о)

Re: длина строки

Date: 2017-02-28 06:51 pm (UTC)
epimorphisms_split: (Default)
From: [personal profile] epimorphisms_split (from livejournal.com)
Нет, мы ничего такого не увидели. Мы увидели, что в строках "privet" и "привет" может быть разное количество байтов. И что из этого следует? Почему в них должно быть одинаковое количество чего бы то ни было? В каких конкретно ситуациях это полезно?

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 07:02 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 07:23 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 07:55 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 08:21 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 08:29 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 08:36 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 08:39 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 08:46 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 08:48 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 09:19 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 09:23 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 09:31 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 08:41 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 08:45 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 08:49 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 09:13 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 09:22 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 09:30 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 09:16 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 09:30 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 09:34 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 09:47 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 10:11 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 10:16 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-03-01 06:08 am (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-03-01 07:22 am (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-03-02 02:05 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-03-02 02:17 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-03-02 05:52 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-03-02 05:59 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-03-10 05:09 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-03-01 07:25 am (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-03-02 01:39 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-03-02 01:48 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-03-02 05:50 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 10:19 pm (UTC) - Expand

(no subject)

From: [identity profile] salamafiko.livejournal.com - Date: 2017-02-28 10:06 pm (UTC) - Expand

(no subject)

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 10:08 pm (UTC) - Expand

(no subject)

From: [personal profile] epimorphisms_split - Date: 2017-02-28 10:16 pm (UTC) - Expand

(no subject)

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 10:21 pm (UTC) - Expand

(no subject)

From: [identity profile] salamafiko.livejournal.com - Date: 2017-02-28 10:33 pm (UTC) - Expand

(no subject)

From: [identity profile] salamafiko.livejournal.com - Date: 2017-02-28 10:34 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 08:42 pm (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 08:28 pm (UTC) - Expand

Re: длина строки

From: [identity profile] aosypov.livejournal.com - Date: 2017-03-01 12:12 am (UTC) - Expand

Re: длина строки

From: [personal profile] epimorphisms_split - Date: 2017-02-28 06:53 pm (UTC) - Expand

Re: длина строки

From: [identity profile] prol-prolych.livejournal.com - Date: 2017-02-28 07:03 pm (UTC) - Expand

Re: длина строки

From: [identity profile] aosypov.livejournal.com - Date: 2017-03-01 12:14 am (UTC) - Expand

December 2025

S M T W T F S
  123 4 56
78 9 10 11 1213
1415 1617181920
21 22 23 24 2526 27
2829 30 31   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 1st, 2026 06:22 pm
Powered by Dreamwidth Studios