Имя: Пароль:
IT
 
C# Новый оператор "устремление к цели"
0 Ненавижу 1С
 
гуру
01.04.14
12:49
В C# ввели новый удобный оператор "устремление к цели"
Выглядит он вот так: -->
А применяется так:

int x = 10;
while(x-->0) {
  Console.WriteLine(x);
}

Когда подобный оператор появится в других языках и в том числе 1С?
1 Beduin
 
01.04.14
12:50
(0) а если не дойдет
2 Ненавижу 1С
 
гуру
01.04.14
12:50
(1) на усмотрение разработчика видимо, переполнение возможно будет
3 badboychik
 
01.04.14
12:50
а шаг где задается?
4 mikecool
 
01.04.14
12:51
(0) смысл его?
5 Ненавижу 1С
 
гуру
01.04.14
12:51
(3) шаг задается типом, для int это 1
(4) упрощение записи for оператора
6 ДенисЧ
 
01.04.14
12:51
while (x-- > 0) ?

ТАк это ещё у K&R было
7 Ненавижу 1С
 
гуру
01.04.14
12:52
(6) ты мне пробелы не ставь где попало!
8 mikecool
 
01.04.14
12:53
(5) учитывая (0) - никогда к нулю не придет
9 badboychik
 
01.04.14
12:54
лучше бы в 1С анонимные функции ввели и операции над списками как в питоне. А то циклы иногда приходится городить из-за одной операции
10 ДенисЧ
 
01.04.14
12:54
(7) сколько будет i=0;i+++++i;count>>i;
?
11 Ненавижу 1С
 
гуру
01.04.14
12:56
(10) в последнем операторе стрелочки кажется не в ту сторону, не?
да и не count, а cout
12 CPU0
 
01.04.14
12:58
вроде while(--x) достаточно, нет?
13 Господин ПЖ
 
01.04.14
12:58
Petrovich очень прост в использовании, и имеет всего четыре комманды. Эти комманды вводятся в интерактивном режиме. Существует и скриптовая версия, но неопытным пользователям ее использовать крайне не рекомендуется.

do something - Заставляет Petrovich сделать что-нибудь.
do something with <file> - Заставляет Petrovich сделать что-нибудь с указанным файлом.
reward - Хвалит Petrovich.
punish - Наказывает Petrovich.

Petrovich> do something with SashaGrey001.mov
file deleted
Petrovich> punish
Petrovich> do something with SashaGrey002.mov
searching web for similar movie...
downloading...
Petrovich> reward
Petrovich>
14 jsmith82
 
01.04.14
13:00
Андерс Хейлсберг смотрит на тебя как на жалкого паскалиста
15 badboychik
 
01.04.14
13:00
Предлагаю перенести функции из СКД в обычный код, расширяющий операции над коллекциями:

СуммаТоваровТЧ = ТабЧасть.ВычислитьРяд("Количество*Цена").ПрименитьФункцию("Сумма");
16 Ненавижу 1С
 
гуру
01.04.14
13:01
(14) он сам с паскаля начал ))
17 Ненавижу 1С
 
гуру
01.04.14
13:02
(15) хватит уже этих строковых литералов!
18 badboychik
 
01.04.14
13:04
(17) Количество и Цена это колонки в передаваемой таблице, а в конце в кавычках любая функция из модуля, принимающая массив чисел, плюс могут быть стандартные из СКД
19 badboychik
 
01.04.14
13:04
ну идеально конечно было бы чтоб конфигуратор был как в 1С++ - знал о колонках в ТЧ и не надо было вводить строковые литералы
20 Ненавижу 1С
 
гуру
01.04.14
13:04
(18) я понял, но это угнетает
невозможно делать контроль корректности кода
21 badboychik
 
01.04.14
13:06
(20) можно подумать что сейчас можно. Напишешь неправильно имя колонки в цикле обработки ТЗ и выкинет при выполнении а не при компиляции
22 Beduin
 
01.04.14
13:08
Все лучше чем такая вытутень
        OnSeekBarChangeListener onSeekBar = new OnSeekBarChangeListener()
        {

            Override
            public void onProgressChanged(SeekBar seekBar, int progress,
                    boolean fromUser) {
                mScreen.setBackgroundColor(0xff000000 + sb.getProgress() * 0x10000);
            }

            Override
            public void onStartTrackingTouch(SeekBar seekBar) {
            }

            Override
            public void onStopTrackingTouch(SeekBar seekBar) {
            }
            
        };
23 Ненавижу 1С
 
гуру
01.04.14
13:10
(21) даже после выполнения запроса, мерзость
24 ДенисЧ
 
01.04.14
13:27
(11) Последний отменяем. Сколько i будет?
25 badboychik
 
01.04.14
13:28
еще не хватает оператора "??" для указания значения при переменной равной NULL или Неопределено:

Значение = РезультатЗапроса.Колонка ?? "Пусто";
26 Ненавижу 1С
 
гуру
01.04.14
13:36
(24) в шарпе это i+++++i не компилируется все равно


             int i=0;
             Console.WriteLine(i++ + ++i);
             Console.WriteLine(i);
27 Ненавижу 1С
 
гуру
01.04.14
13:36
+(26) дает 2
28 Asmody
 
01.04.14
14:00
(15) лучше так:
ОбщаяСумма = ТЗ.СвернутьСначала(0, (Акк, СтрокаТЗ) => {
   Акк + СтрокаТЗ.Количество + СтрокаТЗ.Цена;
});
29 badboychik
 
01.04.14
14:25
пора вообще несколько языков делать, как на JVM
30 badboychik
 
01.04.14
14:25
для классики там ява, для хардкорщиков - Scala,Groovy...
31 Asmody
 
01.04.14
14:27
(30) после появления лямбд в java8 сама java тоже стала ничего себе
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн