LINUX.ORG.RU
ФорумTalks

А ты уже написал своего бота для Телеграма на Free Pascal'е, $username?

 , ,


2

1

Сабж. Ведь, уже существуют готовые библиотеки для этой задачи:
https://github.com/Al-Muhandis/brook-telegram
https://github.com/Al-Muhandis/fp-telegram
https://github.com/risoflora/brookfreepascal

★★★★★

Ответ на: комментарий от reprimand

Но это не генератор, а в свою функцию я могу подать числогенераторы и она мне будет возвращать значения.

Deleted
()
Ответ на: комментарий от reprimand

Да и ваще суть не в том как я решаю ксоренье, а в возможности написать альтернативу на паскале.

Deleted
()
Ответ на: комментарий от Deleted

А вот у меня генератор!

Но зачем?

// Удачи тому челу который вот это всё будет сопровождать после твоего ухода.

У меня, к слову, есть один знакомый. Который идет на любую работу за почти любую ЗП лишь бы был стартап. Говнокодит по полной, лишь бы быстрее было, менеджеры довольны - заказчики довольны ибо продукт внедрён и работает. Парнишка работает примерно год, увеличивая зарплату себе по несколько раз в 1.5 раза.

А потом когда начинают вылазить адские невыгребаемые баги из-за его говнокода он тупо увольняется.

Красавчик.

reprimand ★★★★★
()
Ответ на: комментарий от Deleted

Да и ваще суть не в том как я решаю ксоренье, а в возможности написать альтернативу на паскале.

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

reprimand ★★★★★
()
Ответ на: комментарий от Deleted

Как написать такое? Я код писал по фану так что на читабельность не смотри:

А потом мы удивляемся, а че все так тормозит, лагает и жрёт гигабайты...

vasya_pupkin ★★★★★
()
Ответ на: комментарий от vasya_pupkin

А потом мы удивляемся, а че все так тормозит, лагает и жрёт гигабайты...

там не в тормозах дело а в том, что это write-only код который можно только выбросить

reprimand ★★★★★
()
Ответ на: комментарий от Deleted

можно подумать _не специально_ код выглядит лучше?

открываешь любой плюсовой, желательно не опенсорсный проект, который написан на вот этих ваших новых плюсах а не C with classes

Ну и наслаждаешься адом.

reprimand ★★★★★
()
Ответ на: комментарий от reprimand

Ну там можно было бы using'ами и нормальным constexpr проверками сделать все более читаемым.

можно подумать _не специально_ код выглядит лучше?

%)

Deleted
()
Ответ на: комментарий от Deleted

Есть ли в паскале constexpr кста?!

Паскаль - это язык со строгой типизацией. Константы всегда константы, а переменные всегда переменные.

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

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от Deleted

Если что внутри constexpr могут быть динамические массивы например... Это у С++.

Вот поэтому я и не перевариваю этот ваш C++. Какая-то каша. Си и Паскаль наше всё!

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

возводить в нулевую степень, причём даже нуль - результатом, кстати, будет единица

В общем случае степенная функция определена при x>0. Если a>0, то функция определена также и при x=0, иначе ноль является её особой точкой.

Так что выдача единицы никому не нужна.

grem ★★★★★
()
Ответ на: комментарий от grem

Случаи бывают разные. Например, бывает нужно посчитать 2^n, а n может оказаться нулём. Также, например, 0^n - математический способ внедрять «if n = 0 then ... else ...» в формулы (например, в «a + b * 0^n»).

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от saahriktu

Случаи никого не интересуют, так как есть математическое определение функции x^a - степенной функции.

Если ты смотришь показательную функцию a^x, то да, функция определена при a>0.

Считать нужно не 0^0, а раскрывать неопределённость.

grem ★★★★★
()
Ответ на: комментарий от Deleted

Что именно ты ожидаешь от constexpr в других языках? Возможность сообщить компилятору, что вот здесь он может попробовать вычислить значение на этапе компиляции?

В некоторых языках компилятор может попытаться сделать это, если увидит модификатор «чистой» функции/процедуры.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от grem

Считать нужно не 0^0

Повторю другими словами. Например, вместо

if z = 11 then y := x else y := x + 4;
можно написать
y := x + 4 * power(0, abs(z - 11));

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от Alden

Кастовать типы можно, есть операция взятия адреса и нетипизированные указатели.

Ну так – явное лучше неявного.

EXL ★★★★★
()
Ответ на: комментарий от grem

Считать нужно не 0^0, а раскрывать неопределённость

Здесь нет никакой неопределенности, поскольку нет бесконечно малых.

buddhist ★★★★★
()
Ответ на: комментарий от buddhist

Вот ты вроде абсолютно прав, но при этом абсолютно не туда.

i-rinat ★★★★★
()
Ответ на: комментарий от grem

Что именно ты ожидаешь от constexpr в других языках?

Immediate слово из Foth. Ну или хотя бы что то близкое к плюсовому констэкспр.

Deleted
()
Ответ на: комментарий от Deleted

Я и спрашиваю: ты хочешь указать компилятору, что «вот здесь по возможности вычисли заранее»? Сдаётся мне, что компилятор это и сам сделает в большинстве случаев, если сможет и подсказка больше для читающего код.

grem ★★★★★
()
Ответ на: комментарий от buddhist

Конечно нет. Но пытаться вычислить 0^0 просто из неоткуда, без рассмотрения того, что привело к появлению нулей тоже странно.

grem ★★★★★
()
Ответ на: комментарий от grem

компилятор это и сам сделает в большинстве случаев, если сможет

constexpr даёт гарантии вычисления на этапе компиляции. Умный компилятор это хорошо, они достаточно давно уже очень умные. Но если самый умный компилятор встретит функцию, которую нельзя вычислить на этапе компиляции, он остановится на этом моменте, ничего не сказав. А с constexpr явно ругнётся, потому что нельзя удовлетворить требованиям. Если код скомпилировался, ты можешь быть уверен, что к моменту запуска вычисления уже произведены. Не нужно уповать на ум компилятора.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Не нужно уповать на ум компилятора

Ну вот, всё приходится делать самому :(

grem ★★★★★
()
Ответ на: комментарий от grem

Ну такие вычисления это долго, плюс не каждый компилятор может.

Deleted
()
Ответ на: комментарий от i-rinat

То есть ты не троллишь и решил на полном серьезе придраться к псевдокоду что я там память не выделил?! А почему не придрался к тому что инклудов нет? Описания array? Ну вот я свой пример переписал на javascript:

function xor_iter(a, b) {
  let out = [];
  for(let i = 0;i < a.length;i++) out[i] = a[i] ^ b[i];
  return out;
}
Все работает, не вижу трабл.

Deleted
()
Ответ на: комментарий от Deleted

и решил на полном серьезе придраться к псевдокоду что я там память не выделил?!

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

О какой памяти ты говоришь? У тебя у array в параметрах шаблона есть тип, но нет размера. Если это намёк на std::array, то без размера ты его не инстанциируешь. Если это какой-то свой особый array, который может менять длину на ходу, то во-первых, почему не vector, а во-вторых, почему нет обработки случая разных длин a и b?

Все работает, не вижу трабл.

Если, скажем, из многопоточного кода убрать блокировки, то тоже «всё работает». И трабл ты заметишь далеко не сразу.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

Пздц, я то думал ты траллируешь, а оно вон как все серьезно.

Deleted
()
Ответ на: комментарий от Deleted

Как написать такое?

Я было подумал, что этот код призывает Сатану как минимум. А что, попроще решение такой ерундовой задачи записать совсем нельзя?

Zenom ★★★
()
Ответ на: комментарий от Deleted

У C/C+ тот же самый «студенческий имидж». В ВУЗах их очень даже преподают. И что-то их из-за этого не недооценивают. Просто кому-то хочется тешить своё ЧСВ, что они, как крутые и востребованные специалисты, пишут на языках из топа востребованных вакансий. А вакансий с Паскалем в последнее время на самом деле мало. Вот в чём разница.

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от Deleted

Он и сейчас тоже есть. И вакансии с ним тоже есть. Но не в топе.

Последняя версия Delphi - 10.3.2 Rio от 18-го июля 2019-го года.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Просто всё заполонили другие новости. Акценты сместились. Сейчас гораздо больше половины всего пишется или под всякие смартфоны, или для веба. Для десктопов уже почти ничего (в относительных числах) не пишется. Поэтому и подавляющее большинство новостей именно про Андроиды/iOS'ы, Явы, Питоны, JavaScript, HTML5,... и т.д. А всё остальное уже теряется на этом фоне, да.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Так на Delphi можно приложения и под мобилки создавать, не спасает что то.

Deleted
()
Ответ на: комментарий от saahriktu

Ничего подобного. У Сей как раз имидж серьёзной тулзы, а у Паскаля как у недоязычка. Несмоття на то, что, да, студням преподаются оба.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.