OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 14 Май, 2024 17:41

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 67 ]  На страницу Пред.  1, 2, 3, 4
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 15 Май, 2007 13:07 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1429
Если взять один из "несколько других языков" и творчески перегрузить "+" и "=", то можно повторить шедевр на VB. :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 15 Май, 2007 22:36 

Зарегистрирован: Среда, 28 Февраль, 2007 00:08
Сообщения: 142
Откуда: Нижний Новгород
Trurl писал(а):
Если взять один из "несколько других языков" и творчески перегрузить "+" и "=", то можно повторить шедевр на VB. :)

это про
#define + -;
или
#define + ++;
? :D компилятор-змеюка не пропускает, ограничивает мою свободу


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 16 Май, 2007 09:10 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Тема плавно ушла от темы и попала в другой форум. :)

Продолжая разгвор о расширениях. Мне студент сдавал такую программу:
Код:
main()
{
...
void F1()
{
...
}
void F2()
{
...
}
void F3()
{
...
}
void F4()
{
...
}
...
}

Которая прекрасно компилировалась и работала, т.к. gcc допускает для Си вложенные функции. И он был удивлен, когда я сказал, что так писать нельзя и это не соответсвует стандарту. Компилятор ведь пропустил, и все работает!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 16 Май, 2007 10:58 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
batyrmastyr писал(а):
Trurl писал(а):
Если взять один из "несколько других языков" и творчески перегрузить "+" и "=", то можно повторить шедевр на VB. :)

это про
#define + -;


Препроцессор - это слишком грубо :) Можно и без него по всем правилам языка наворотить несопровождаемый код.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 16 Май, 2007 11:14 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1429
batyrmastyr писал(а):
это про
#define + -;
или
#define + ++;

Ну зачем? Можно типопезопасно ;)
Код:
class  string{
};
string operator +  (const string, const string);

class integer{
public:
  operator =  (int);
  operator =  (string);
};


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 16 Май, 2007 11:30 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1693
Ну, "пошла писАть губерния".......
ГраждАне, напоминаю, что тут все умные! :о)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 02 Ноябрь, 2008 22:08 

Зарегистрирован: Суббота, 27 Сентябрь, 2008 09:49
Сообщения: 7
Евгений Темиргалеев писал(а):
Wlad писал(а):
...
Зачем вам явно во втором варианте вызыват Write?
Я имел в виду вызов ПРОЦЕДУРЫ Write ... Назначение этой процедуры - проглотить значение ПРОЦЕДУРЫ-ФУНКЦИИ StdLog.Out.String("").... и ничего с ним не делать. Такой вариант и компилироваться будет, и работать так, как предполагалось без него.

А если записать так:
Код:
StdLog.Out.String("result: ").Int(var).String("-th is ").Float(float_value).ok;

Где ok имеет вид
Код:
PROCEDURE (o:Out)ok;BEGIN END ok;

Еще можно писать
Код:
StdLog.Out.String("result: ").Int(var).String("-th is ").Float(float_value).ln;

Тоже самое, но с переходом на другую строку.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 67 ]  На страницу Пред.  1, 2, 3, 4

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB