im getting Expected an assignment or function call and instead saw an expression no-unused-expressions while trying to pass props to child component.
fetchMovie() make axios request to api and returns a valid JSON object.
im trying to pass the object as a prop to child component and im getting this error
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { fetchMovie } from '../actions/movies';
import { MovieItem } from './MovieItem';
import Spinner from './spinner/Spinner';
import PropTypes from 'prop-types';
export class Movies extends Component {
componentDidMount() {
this.props.fetchMovie();
}
render() {
const { movie } = this.props.movies;
let movieItem;
if (movie === null) {
movieItem = 'loading';
} else {
<MovieItem movie={movie} />
}
return (
<div>
<div className="text-center"><p>{movieItem}</p></div>
</div>
)
}
}
Movies.propTypes = {
movies: PropTypes.object.isRequired,
fetchMovie: PropTypes.func.isRequired
}
const mapStateToProps = state => ({
movies: state.movies
})
export default connect(mapStateToProps, { fetchMovie })(Movies);
how to solve this issue? and what is the error meaning?
asked May 12, 2019 at 22:32
0
Look at the render method, in the else
branch you create a MovieItem
component, but you don’t do anything with it. Looking at your code, I guess you need to assign it to movieItem
variable, so it gets than rendered in the p
element.
answered May 12, 2019 at 22:40
KeilathKeilath
4364 silver badges10 bronze badges
2
0 / 0 / 0 Регистрация: 03.10.2010 Сообщений: 10 |
|
1 |
|
Программирование с использованием массивов07.11.2010, 10:41. Показов 946. Ответов 10
Помогите с решением задачи по данной теме. Условие находится во вложении.
0 |
0 / 0 / 0 Регистрация: 03.10.2010 Сообщений: 10 |
|
13.11.2010, 17:08 [ТС] |
2 |
Помогите пожалуйста разобраться с этими массивами. Очень срочно нужна ваша помощь, уважаемые пользователи
0 |
Artishok ЧакЭ одобряЭ 285 / 284 / 86 Регистрация: 27.12.2009 Сообщений: 1,767 |
||||
13.11.2010, 17:39 |
3 |
|||
1 |
F_U_C_K 0 / 0 / 0 Регистрация: 03.10.2010 Сообщений: 10 |
||||
13.11.2010, 17:53 [ТС] |
4 |
|||
Во второй строке после команды array выбивает следующее: Ошибка: ожидался символ «[«
0 |
ЧакЭ одобряЭ 285 / 284 / 86 Регистрация: 27.12.2009 Сообщений: 1,767 |
|
13.11.2010, 17:58 |
5 |
я откоментил в 8 строке
1 |
0 / 0 / 0 Регистрация: 03.10.2010 Сообщений: 10 |
|
13.11.2010, 18:00 [ТС] |
6 |
Т.е. этот array можно убрать?
0 |
ЧакЭ одобряЭ 285 / 284 / 86 Регистрация: 27.12.2009 Сообщений: 1,767 |
|
13.11.2010, 18:50 |
7 |
да просто заменить array of real на array[0..3] of real
1 |
0 / 0 / 0 Регистрация: 03.10.2010 Сообщений: 10 |
|
14.11.2010, 12:29 [ТС] |
8 |
Вновь программа не выполняется. Убрал то, что вы описывали в предыдущем сообщении: Ошибка: ожидалось присваивание «:=»
0 |
Artishok ЧакЭ одобряЭ 285 / 284 / 86 Регистрация: 27.12.2009 Сообщений: 1,767 |
||||
14.11.2010, 15:30 |
9 |
|||
значит у вас не abc.net
то же для sum2
1 |
Почетный модератор 64288 / 47587 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
|
14.11.2010, 15:31 |
10 |
значит у вас не abc.net Да тут у всех кроме тебя эта беда…
0 |
0 / 0 / 0 Регистрация: 03.10.2010 Сообщений: 10 |
|
14.11.2010, 15:47 [ТС] |
11 |
Artishok, спасибо, теперь выполняется
0 |
var a,v,b,e:integer;
begin
writeln('введите a,v,b,e');
readln(a,v,b,e);
a+b=:c:
b*e=:f:
writeln('ответ=', f);
readln(f);
writeln('ответ=', c);
readln(c);
end.
Вот текст ошибки:
Program1.pas(5,2): Встречено ‘+’, а ожидалось ‘;’
Что нужно исправить?
задан 25 фев 2016 в 14:34
3
минимальные исправления, что бы оно «заработало». Гарантии, что оно решает поставленную задачу — нет.
var a,v,b,e,c,f:integer;
begin
writeln('введите a,v,b,e');
readln(a,v,b,e);
c:=a+b;
f:=b*e;
writeln('ответ=', f);
writeln('ответ=', c);
end.
конструкция a+b=:c:
очень похожа на смыслу на конструкцию с языка Рапира. Там бы это писалось так a+b->c
.
ответ дан 25 фев 2016 в 15:02
KoVadimKoVadim
112k6 золотых знаков91 серебряный знак158 бронзовых знаков
2
Судя по всему перепутаны местами что где вычисляется и куда присваивается.
Оператор присваивания выглядит :=
с левой части — куда присваивать, с правой — что присвоить
таким образом данные выражения синтаксически не корректны
a+b=:c:
b*e=:f:
И из контекста должно быть так
c := a+b;
f := b*e;
ответ дан 25 фев 2016 в 15:03
Grundy♦Grundy
80k9 золотых знаков77 серебряных знаков133 бронзовых знака
import React, { Component } from 'react'
export default class DisplayTodo extends Component {
state = {
todo:["eat", "sleep", "repet"]
}
render() {
return (
<div>
{
this.state.todo.map((value)=>{
<p>{value}</p>
})
}
</div>
)
}
}
1) Я знаю, что если я сохраняю возврат на карте, это работает, но я хочу знать, почему это не удалось
2) Кроме того, я сослался на ссылку для React
https://reactjs.org/docs/introduction-jsx.html#embedding-expressions-in-jsx
Теперь ошибка выглядит противоположной объяснению, говорящему, что ожидалось присваивание или вызов функции, а вместо этого увидел выражение
3) в объяснении ссылки на реакцию выше сказано, что вы можете поместить любое допустимое выражение JavaScript внутри фигурных скобок
4) Более того, в javascript мы можем написать так, почему это невозможно в React
var a = [11,33,99]
a.map((val)=>{
console.log(val*2)
})
100
Ошибка чтения файла
101
Ошибка открытия *.EX5 файла для записи
103
Недостаточно свободной памяти для завершения компиляции
104
Нераспознанная компилятором пустая синтаксическая единица
105
Некорректное имя файла в #include
106
Ошибка доступа к файлу в #include (возможно файл не существует)
108
Неподходящее имя для #define
109
Неизвестная команда препроцессора (допустимы #include,#define,#property,#import)
110
Неизвестный для компилятора символ
111
Функция не реализована (описание есть, тела нет)
112
Пропущена двойная кавычка («)
113
Пропущена открывающая угловая скобка (<) или двойная кавычка («)
114
Пропущена одинарная кавычка (‘)
115
Пропущена закрывающая угловая скобка «>»
116
Не указан тип в объявлении
117
Нет оператора возврата return или имеется не во всех ветках выполнения
118
Ожидалась открывающая скобка параметров вызова
119
Ошибка записи EX5
120
Некорректный доступ к элементу массива
121
Функция не имеет тип void и оператор return должен вернуть значение
122
Некорректное объявление деструктора
123
Отсутствует двоеточие «:»
124
Переменная уже объявлена
125
Переменная с таким идентификатором уже объявлена
126
Имя переменной слишком длинное (>250 символов)
127
Структура с таким идентификатором уже определена
128
Структура не определена
129
Член структуры с таким именем уже определен
130
Нет такого члена структуры
131
Нарушена парность квадратных скобок
132
Ожидается открывающая круглая скобка «(«
133
Несбалансированные фигурные скобки ( отсутствует «}» )
134
Сложно для компиляции (слишком большое ветвление, внутренний стек уровней переполнен)
135
Ошибка открытия файла на чтение
136
Недостаточно памяти для загрузки исходного файла в память
137
Ожидается переменная
138
Ссылка не может быть инициализирована
140
Ожидалось присваивание (возникает при объявлении)
141
Ожидается открывающая фигурная скобка «{«
142
Параметр может быть только динамическим массивом
143
Использование типа «void» недопустимо
144
Нет пары для «)» или «]», т.е. отсутствует «(» или «[«
145
Нет пары для «(» или «[«, т.е. отсутствует «)» или «]»
146
Некорректная размерность массива
147
Слишком много параметров (>64)
149
Этот токен тут не ожидается
150
Недопустимое использование операции (неправильные операнды)
151
Выражение типа void недопустимо
152
Ожидается оператор
153
Неправильное использование break
154
Ожидается точка с запятой «;»
155
Ожидается запятая «,»
156
Тип должен быть определен как класс, а не как структура
157
Ожидалось выражение
158
В HEX встречается «не HEX символ» или слишком длинное число (количество цифр > 511)
159
Строка-константа имеет более 65534 символов
160
Определение функции здесь недопустимо
161
Неожиданный конец программы
162
Форвардная декларация для структур запрещена
163
Функция с таким именем уже определена и имеет иной тип возвращаемого значения
164
Функция с таким именем уже определена и имеет иной набор параметров
165
Функция с таким именем уже определена и реализована
166
Перегрузка функции для данного вызова не найдена
167
Функция с возвращаемым значением типа void не может возвращать значение
168
Функция не определена
170
Ожидается значение
171
В выражении case допустимы только целочисленные константы
172
Значение для case в этом switch уже использовано
173
Ожидается целочисленное значение
174
В выражении #import ожидается имя файла
175
Выражения на глобальном уровне не допустимы
176
Пропущена круглая скобка «)» перед «;»
177
Слева от знака равенства предполагается переменная
178
Результат выражения не используется
179
Объявление переменных в case недопустимо
180
Неявное преобразование из строки в число
181
Неявное преобразование числа в строку
182
Неоднозначный вызов перегруженной функции (подходят несколько перегрузок)
183
Недопустимый else без соответствующего if
184
Недопустимый case или default без соответствующего switch
185
Недопустимое использование эллипсиса
186
Инициализирующая последовательность имеет большее количество элементов чем инициализируемая переменная
187
Ожидается константа для case
188
Требуется константное выражение
189
Константная переменная не может быть изменена
190
Ожидается закрывающая скобка или запятая (объявление члена массива)
191
Идентификатор перечисления уже используется
192
Перечисление не может иметь модификаторов доступа (const, extern, static)
193
Член перечисления уже объявлен с другим значением
194
Существует переменная, определенная с таким же именем
195
Существует структура, определенная с таким же именем
196
Ожидается имя члена перечисления
197
Ожидается целочисленное выражение
198
Деление на ноль в константном выражении
199
Неверное количество параметров в функции
200
Параметром по ссылке должна быть переменная
201
Ожидается переменная такого же типа для передачи по ссылке
202
Константная переменная не может быть передана по неконстантной ссылке
203
Требуется целочисленная положительная константа
204
Ошибка доступа к защищенному члену класса
205
Импорт уже определен по другому пути
208
Исполняемый файл не создан
209
Для индикатора не найдена точка входа ‘OnCalculate’
210
Оператор continue может быть использован только внутри цикла
211
Ошибка доступа к private(закрытому) члену класса
213
Метод структуры или класса не объявлен
214
Ошибка доступа к private(закрытому) методу класса
216
Копирование структур с объектами недопустимо
218
Выход индекса за границы массива
219
Недопустима инициализация массивов в объявлении структуры или класса
220
Конструктор класса не может иметь параметров
221
Деструктор класса не может иметь параметров
222
Метод класса или структуры с таким именем и параметрами уже объявлен
223
Ожидается операнд
224
Метод класса или структуры с таким именем есть, но с другими параметрами (объявление!=реализация)
225
Импортируемая функция не описана
226
Функция ZeroMemory() не применима для классов с защищенными членами или наследованием
227
Неоднозначный вызов перегруженной функции (точное совпадение параметров для нескольких перегрузок)
228
Ожидается имя переменной
229
Ссылку нельзя объявить в этом месте
230
Уже используется в качестве имени перечисления
232
Ожидается класс или структура
235
Нельзя вызывать delete для удаления массива
236
Ожидается оператор ‘ while ‘
237
В delete должен быть указатель
238
default для этого switch уже есть
239
Синтаксическая ошибка
240
Escape-последовательность может встретиться только в строках ( начинается с » )
241
Требуется массив – квадратная скобка ‘[‘ не относится к массиву либо в качестве параметра-массива подают не массив
242
Не может быть инициализировано посредством инициализирующей последовательности
243
Импорт не определен
244
Ошибка оптимизатора на синтаксическом дереве
245
Объявлено слишком много структур (упростите программу)
246
Преобразование параметра недопустимо
247
Некорректное использование оператора delete
248
Нельзя объявить указатель на ссылку
249
Нельзя объявить ссылку на ссылку
250
Нельзя объявить указатель на указатель
251
Недопустимо объявление структуры в списке параметров
252
Недопустимая операция приведения типов
253
Указатель можно объявить только для класса или структуры
256
Необъявленный идентификатор
257
Ошибка оптимизатора исполняемого кода
258
Ошибка генерации исполняемого кода
260
Недопустимое выражение для оператора switch
261
Переполнение пула строковых констант, упростите программу
262
Невозможно преобразовать к перечислению
263
Нельзя использовать virtual для данных (членов класса или структуры)
264
Нельзя вызвать защищенный метод класса
265
Переопределяемая виртуальная функция возвращает другой тип
266
Класс нельзя наследовать от структуры
267
Структуру нельзя наследовать от класса
268
Конструктор не может быть виртуальным (спецификатор virtual недопустим)
269
Структура не может иметь виртуальных методов
270
Функция должна иметь тело
271
Перегрузка системных функций (функций терминала) запрещена
272
Спецификатор const недопустим для функций, не являющихся членом класса или структуры
274
Нельзя менять члены класса в константном методе
276
Неподходящая инициализирующая последовательность
277
Пропущено значение по умолчанию для параметра (специфика объявления параметров по умолчанию)
278
Переопределение параметра по умолчанию (в объявлении и реализации разные значения)
279
Нельзя вызвать неконстантный метод для константного объекта
280
Для доступа к членам требуется объект (поставлена точка для не класса/структуры)
281
Имя уже объявленной структуры нельзя использовать при объявлении
284
Неразрешенное преобразование (при закрытом наследовании)
285
Структуры и массивы не могут быть использованы в качестве input-переменных
286
Спецификатор const недопустим для конструктора/деструктора
287
Неправильное строковое выражение для типа datetime
288
Неизвестное свойство (#property)
289
Некорректное значение для свойства
290
Некорректный индекс для свойства в #property
291
Пропущен параметр вызова – < func(x,) >
293
Объект должен быть передан по ссылке
294
Массив должен быть передан по ссылке
295
Функция была декларирована как экспортируемая
296
Функция не была декларирована как экспортируемая
297
Экспортировать импортируемую функцию нельзя
298
Импортируемая функция не может иметь такого параметра (нельзя передавать указатель, класс или структуру, содержащую динамический массив, указатель, класс и т.д.)
299
Должен быть класс
300
Секция #import не закрыта
302
Несоответствие типов
303
extern-переменная уже инициализирована
304
Не найдено ни одной экспортируемой функции или стандартной точки входа
305
Явный вызов конструктора запрещен
306
Метод был объявлен константным
307
Метод не был объявлен константным
308
Некорректный размер ресурсного файла
309
Некорректное имя ресурса
310
Ошибка открытия файла ресурса
311
Ошибка чтения файла ресурса
312
Неизвестный тип ресурса
313
Некорректный путь к файлу ресурса
314
Указанное имя ресурса уже используется
315
Ожидались параметры макроса
316
После имени макроса должен быть пробел
317
Ошибка в описании параметров макроса
318
Неверное число параметров при использовании макроса
319
Превышение максимального количества(16) параметров для макроса
320
Макрос слишком сложный, требуется упрощение
321
Параметром EnumToString() может быть только перечисление
322
Имя ресурса слишком длинное
323
Неподдерживаемый формат изображения (допустим только BMP-формат с глубиной цвета 24 или 32 бита)
324
Объявление массива внутри оператора запрещено
325
Функцию можно определить только на глобальном уровне
326
Данное объявление недопустимо для текущей области видимости (области определения)
327
Инициализация статичных переменных значениями локальных недопустима
328
Недопустимое объявление массива объектов, не имеющих конструктора по умолчанию
329
Список инициализации разрешен только для конструкторов
330
Отсутствует определение функции после списка инициализации
331
Список инициализации пуст
332
Инициализация массива в конструкторе запрещена
333
В списке инициализации запрещено инициализировать члены родительского класса
334
Ожидалось выражение целого типа
335
Требуемый объем памяти для массива превышает максимально допустимое значение
336
Требуемый объем памяти для структуры превышает максимально допустимое значение
337
Требуемый объем памяти для переменных, объявленных на глобальном уровне, превышает максимально допустимое значение
338
Требуемый объем памяти для локальных переменных превышает максимально допустимое значение
339
Конструктор не определен
340
Недопустимое имя для файла иконки
341
Не удалось открыть файла иконки по указанному пути
342
Файл иконки некорректен и не соответствует формату ICO
343
Повторная инициализация члена в конструкторе класса/структуры с помощью списка инициализации
344
Инициализация статических членов в списке инициализации конструктора не допускается
345
Инициализация нестатического члена класса/структуры на глобальном уровне запрещена
346
Имя метода класса/структуры совпадает с ранее объявленным именем члена
347
Имя члена класса/структуры совпадает с ранее объявленным именем метода
348
Виртуальная функция не может быть объявлена как static
349
Модификатор const недопустим для статической функции
350
Конструктор или деструктор не могут быть статическими
351
Нельзя обращаться к нестатическому члену/методу класса или структуры из статической функции
352
После ключевого слова operator ожидается перегружаемая операция (+,-,[],++,— и т.д.)
353
Не все операции можно перегружать в MQL5
354
Определение не соответствует объявлению
355
Указано неверное количество параметров для оператора
356
Не обнаружено ни одной функции-обработчика события
357
Методы не могут быть экспортируемыми
358
Нельзя приводить указатель на константный объект к указателю на неконстантный объект
359
Шаблоны классов пока не поддерживаются
360
Перегрузка шаблонов функций пока не поддерживается
361
Невозможно применить шаблон функции
362
Неоднозначный параметр в шаблоне функции (подходят несколько типов параметра)
363
Невозможно определить к какому типу параметра приводить аргумент шаблона функции
364
Неверное количество параметров в шаблоне функции
365
Шаблон функции не может быть виртуальным
366
Шаблоны функций не могут быть экспортированы
367
Нельзя импортировать шаблоны функций
368
Структуры, содержащие объекты, недопустимы
369
Массивы строк и структуры, содержащие объекты, недопустимы
370
Статический член класса/структуры должен быть явно инициализирован
371
Ограничение компилятора: строка не может содержать более 65 535 символов
372
Несогласованные #ifdef/#endif
373
Результатом выполнения функции не может быть объект класса, так как отсутствует конструктор копирования
374
Нельзя использовать нестатические члены и/или методы при инициализации статической переменной
375
OnTesterInit() нельзя использовать без объявления обработчика OnTesterDeinit()
376
Имя локальной переменной совпадает с именем одного из параметров функции
377
Нельзя использовать макросы __FUNCSIG__ и __FUNCTION__ вне тела функции
378
Недопустимый возвращаемый тип. Например, такая ошибка будет выдана для функций, импортированных из DLL, которые возвращают структуру или указатель в качестве результата
379
Ошибка при использовании шаблона
380
Не используется
381
Недопустимый синтаксис при объявлении чисто виртуальной функции, разрешено «=NULL» или «=0»
382
Только виртуальные функции могут быть объявлены со спецификатором чисто виртуальной функции («=NULL» или «=0»)
383
Нельзя создать экземпляр абстрактного класса
384
Для динамического приведения с помощью оператора dynamic_cast типом назначения должен быть указатель на пользовательский тип
385
Ожидается тип «указатель на функцию»
386
Указатели на методы не поддерживаются
387
Ошибка – невозможно определить тип указателя на функцию
388
Приведение типа недоступно из-за закрытого наследования
389
Переменная с модификатором const должна быть проинициализирована при объявлении
393
В интерфейсе могут быть объявлены только методы с публичным доступом
394
Недопустимое вложение интерфейса в другой интерфейс
395
Интерфейс может наследоваться только от другого интерфейса
396
Ожидается интерфейс
397
Интерфейсы поддерживают только публичное наследование
398
Интерфейс не может содержать члены
399
Нельзя создавать объекты интерфейса напрямую, только через наследование
400
Спецификатор нельзя использовать в форвардном объявлении
401
Наследование от данного класса невозможно, так как он объявлен со спецификатором final
402
Нельзя переопределить метод, объявленный со спецификатором final
403
Спецификатор final можно применять только к виртуальным функциям
404
Метод, помеченный спецификатором override, на самом деле не перекрывает никакую функцию базового класса
405
Спецификатор не разрешен в определении функции, только в объявлении
406
Невозможно привести данный тип к указанному
407
Данный тип нельзя использовать для ресурсной переменной
408
Ошибка в файле проекта
409
Не может быть использован в качестве члена union
410
Неоднозначность выбора для данного имени, необходимо явно определить контекст использования
411
Нельзя использовать данную структуру из DLL
412
Нельзя вызывать функцию, помеченную спецификатором delete
413
MQL4 не поддерживается. Для компиляции этой программы используйте MetaEditor, который находится в папке установке вашего терминала MetaTrader 4
booking.save(function (error, data) {
error ? console.log(error) : res.redirect('/');
});
Этот код вызывает отображение следующей ошибки в Sublime Text:
Expected an assignment or function call and instead saw an expression
Почему это? Что не так с моим кодом? Он работает на 100%. Я не вижу ошибки.
2 ответа
Это ошибка JSLint, а не ошибка JS.
В вашем случае считается, что тернарные операторы должны использоваться только для назначения, например
var foo = bar ? 2 : 3;
Поскольку в JSLint нет назначения, считайте эту строку бесполезной. Измените его на блок if-else
или используйте JSHint с правильными настройками.
4
Roman Bekkiev
18 Янв 2015 в 21:43
Ожидается, что тело функции будет списком операторов. JSLint выдает это предупреждение, потому что
error ? console.log(error) : res.redirect('/');
Является выражением, а не утверждением. Чтобы предупреждение исчезло, используйте оператор if...else
.
if(err) console.log(error);
else res.redirect('/');
0
Peter Olson
18 Янв 2015 в 21:49
Я использую JSLint, чтобы убедиться, что мой JavaScript «строгий», и я получаю следующую ошибку:
Ожидал присваивания или вызова функции и вместо этого увидел выражение
На следующий код:
(my_var > 0 ) ? $("#abc").html(my_array.join('')) : $("#abc").html('<h2>Hello ' + persons_name);
Есть идеи, почему я получаю такую ошибку? Кроме того, я использую jQuery, как видно из приведенного выше кода, в случае, если это имеет значение.
2010-11-12 16:58
4
ответа
Решение
Я думаю, что JSLint недоволен, так как вы используете троичный оператор, и вы ничего не делаете со значением. Рефакторинг это в эквивалент:
if (my_var > 0 ) {
$("#abc").html(my_array.join(''));
} else {
$("#abc").html('<h2>Hello ' + persons_name);
}
устранит ошибку. Если по какой-то причине вы действительно привязаны к использованию троичного оператора, «правильный» способ его использования будет следующим:
$("#abc").html((my_var > 0) ? my_array.join('') : '<h2>Hello ' + persons_name);
user17826
12 ноя ’10 в 17:07
2010-11-12 17:07
2010-11-12 17:07
Я считаю, что это потому, что троичный оператор оценивает выражение и возвращает значение, которое, как ожидается, будет назначено. Например:
var test = (my_var > 0) ? true : false;
Однако вы используете его как обычный оператор if/then/else. Хотя троичный оператор выполняет if/then/else, он традиционно используется в присваивателях.
РЕДАКТИРОВАТЬ: В качестве дополнения: это заявление будет иметь смысл для вас?
var foo = 1;
(my_var > 0) ? true : false;
console.log('hello world');
user17803
12 ноя ’10 в 17:04
2010-11-12 17:04
2010-11-12 17:04
Вы используете выражение (точнее выражение, использующее троичный оператор) в одной строке: ваша строка состоит исключительно из выражения.
это считается плохой практикой программирования на многих языках и может быть переписано с использованием if
заявление, чтобы сделать эту строку более ясной.
2010-11-12 17:04
Просто спросил тот же вопрос, не найдя этого по какой-то причине…
Тернар возвращает значение, которое не используется, поэтому вы злоупотребляете троичной структурой, не используя значение (даже если вызовы функций выполняются, как предполагалось).
2015-01-22 01:12