Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет qwerty ([info]qwerty)
@ 2009-09-29 14:41:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Деление строк
Приснилось страшное - что я безработный программист и меня в компании птушников и пенсионеров тетка наподобие Полины учит программировать на новом и потому единственно верном языке, более всего напоминающем какой-то гадостный скрипт. В частности, заставляют делить строку на строку. Сделать этого я там не смог, отчего и проснулся. Проснувшись, не смог придумать лучшего способа ввести сложение и умножение строк с приличными свойствами, кроме как перевести их в цепочки битов и использовать их как целые переменной разрядности


(Добавить комментарий)


[info]tristes_tigres
2009-09-30 03:10 (ссылка)
{-# OPTIONS -XTypeSynonymInstances #-}
import Data.List
instance Num String
instance Fractional String where
(/a) a b = (snd.head) (dropWhile (\(x,y)-> (not (isPrefixOf b x)) && (not.null) y ) (zip (inits a) (tails a)))

*Main> "abcdefgh" / "bc"
""
*Main> "abcdefgh" / "abc"
"defgh"
*Main>


(Ответить) (Ветвь дискуссии)


[info]tristes_tigres
2009-09-30 03:11 (ссылка)
Haskell - making your nightmares reality since 1998 !

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2009-09-30 03:49 (ссылка)
Тогда уж следовало бы искать подстроку и считать частным включающий ее префикс, а остатком то, что справа от нее.

(Ответить) (Уровень выше)


[info]qwerty
2009-09-30 03:54 (ссылка)
Опять же, для приличных свойств нужны разумные и согласованные сложение (с вычитанием) и умножение.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]tristes_tigres
2009-09-30 19:21 (ссылка)
"Видите, вы уже начали торговаться !"

(Ответить) (Уровень выше)


(Анонимно)
2009-09-30 04:31 (ссылка)
Ага!
А меня уже квартал как физике учит наш препод по м-л философии из 80-х
И главное - совершенно уверен в собственной правоте, Мы, говаривал он, не Бином Ньютона

(Ответить) (Ветвь дискуссии)


[info]atorin
2009-09-30 04:33 (ссылка)
Это был я

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2009-09-30 04:38 (ссылка)
А зачем он это делает?

(Ответить) (Уровень выше)


[info]ppkk
2009-09-30 17:58 (ссылка)
Матрицы и прочие тензоры на ум приходят (но надо уметь как-то перемножать символы, поможет следующий пункт).

А также свободные группы (но для деления надо придумать обратные символы: нужно либо ввести соотношения какие-то между буквами, либо смело ввести для любого символа a символ a-1).

А лучше и то, и то сразу.

В биты лучше не переводить: кодировок много, приличных свойств не будет. А Юникод, например, не сводится к одному представлению в битах.

(Ответить) (Ветвь дискуссии)


[info]qwerty
2009-10-01 02:10 (ссылка)
Про кодировки можно забыть - в контексте сна ничего, кроме ASCII, быть не могло. Соответственно, букву можно считать цифрой 128-ричной системы исчисления. Соответствие между буквами и цифрами взаимно-однозначное. После чего транслируем в расширенное множество натуральных, выполняем операцию, транслируем обратно. Но это все неизящно, конечно, и слишком для этого сна заумно.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ppkk
2009-10-01 03:42 (ссылка)
128=27, так что можно сопоставить элементам поля из 128-и элементов (впрочем, для 256-и тоже подошло бы, а для Юникода — хуже).

1-й символ -> 0
2-й -> x, нужен какой-то способ разумно выбрать порождающий элемент
3-й -> x2


Строка — вектор. Можно тензоры, можно скалярное произведение (для строк одинаковой длины).

Для пары слов из трёх букв — векторное произведение, тоже слово из трёх букв (можно и слово из четырёх букв для "пора" "есть" "угря").

Мне было бы очень страшно во сне, в котором кодировки без кириллицы.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2009-10-01 04:11 (ссылка)
Полина и кириллица взаимноисключающи.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]ppkk
2009-10-01 04:13 (ссылка)
Видимо, в таком сне я не обратил бы внимания на Полину и её задания. Или не запомнил бы их.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]qwerty
2009-10-01 04:17 (ссылка)
Один и тот же кошмар у каждого выглядит по-разному.

(Ответить) (Уровень выше)