Употребление артиклей
Модератор: zymbronia
Здрасьте.
Всегда не очень понимал их нужность в принципе, но не об этом. Вот везде говорится - если говорящий имеет в виду какой-то конкретный объект, то определенный артикль, если абстрактно - то a. Ок, правильно ли я употребляю в данном случае - например, имеется некая функция, которая принмает два аргумента и что-то возвращает, я пишу к ней описание:
// Returns the pointer to a next symbol after the arg1 or the arg2 if a fail
Ret fn(T arg1, T arg2);
Моя логика:
* первый the - функция возвращает указатель, который описан в сигнатуре функции, т.е. это не какая-то там абстракция, я говорю о вполне конкретном предмете типа Ret, который приходит от этой самой функции.
* второй a - фиг знает что за символ, строка на вход может прийти любой, следовательно a.
* следующие два the - опять говорю о конкретных аргументах, которые описаны в сигнатуре.
* последний a - любая неудача, которая может произойти во время работы функции, никакой конкретной не выделяю.
Я правильно рассуждаю? Просто ощущение, что я натыкал излишнее кол-во их, так как часто читаю всякую документацию и моё описание кажется мне каким-то кривым, так не пишут. Наверное надо было подобрать какую-то непрограммерскую аналогию, но что-то на ум ничего не пришло.
Второй подвопрос - если бы я захотел переписать описание следующим образом:
// Returns the pointer to a next symbol after the arg1 or the arg2 in case of a fail
то артикль a в "in case of a fail" кажется вообще неестественным ибо в каждом втором "автобусе" пишут: "in case of emergency escape break glass with hammer" прям возле молотка. Почему тут нет артикля ни перед "emergency escape", ни перед "hammer", ни перед "glass"? Можно грохнуть любое стекло из десятка подобных, значит ставим 'a', а вот молоток имееются в виду вполне конкретный возле таблички, нуже the. С одной стороны говорится, что это прям маркер существительного, который надо вставлять, а с другой стороны все пишут без всяких артиклей и не парятся.
Всегда не очень понимал их нужность в принципе, но не об этом. Вот везде говорится - если говорящий имеет в виду какой-то конкретный объект, то определенный артикль, если абстрактно - то a. Ок, правильно ли я употребляю в данном случае - например, имеется некая функция, которая принмает два аргумента и что-то возвращает, я пишу к ней описание:
// Returns the pointer to a next symbol after the arg1 or the arg2 if a fail
Ret fn(T arg1, T arg2);
Моя логика:
* первый the - функция возвращает указатель, который описан в сигнатуре функции, т.е. это не какая-то там абстракция, я говорю о вполне конкретном предмете типа Ret, который приходит от этой самой функции.
* второй a - фиг знает что за символ, строка на вход может прийти любой, следовательно a.
* следующие два the - опять говорю о конкретных аргументах, которые описаны в сигнатуре.
* последний a - любая неудача, которая может произойти во время работы функции, никакой конкретной не выделяю.
Я правильно рассуждаю? Просто ощущение, что я натыкал излишнее кол-во их, так как часто читаю всякую документацию и моё описание кажется мне каким-то кривым, так не пишут. Наверное надо было подобрать какую-то непрограммерскую аналогию, но что-то на ум ничего не пришло.
Второй подвопрос - если бы я захотел переписать описание следующим образом:
// Returns the pointer to a next symbol after the arg1 or the arg2 in case of a fail
то артикль a в "in case of a fail" кажется вообще неестественным ибо в каждом втором "автобусе" пишут: "in case of emergency escape break glass with hammer" прям возле молотка. Почему тут нет артикля ни перед "emergency escape", ни перед "hammer", ни перед "glass"? Можно грохнуть любое стекло из десятка подобных, значит ставим 'a', а вот молоток имееются в виду вполне конкретный возле таблички, нуже the. С одной стороны говорится, что это прям маркер существительного, который надо вставлять, а с другой стороны все пишут без всяких артиклей и не парятся.
-
- Сообщения: 2177
- Зарегистрирован: 01 мар 2018, 06:57
- Благодарил (а): 32 раза
- Поблагодарили: 850 раз
Я ни черта не понял, что ваша функция делает. Следовательно, неправильно.
Для краткости. У таких писанных инструкций особый стиль. Также в особом стиле пишутся заголовки новостей (разумеется, у каждого издательства свои особенности стиля), и вообще любые подобные краткие заметки, рецепты и т.д. В реальной речи или нормальном тексте такого уже не происходит.
Если не скрывать деталей, то грубо так:
char *utf8_next(char *pos, char *end);
Функция принимает два указателя на utf-8 символ и возвращает третий. Указатель - это нечто, что показывает на кусок памяти, где находится что-то. Т.е. я точно знаю что на входе и на выходе (указатели на utf-8), а вот сами данные на которые они ссылаются - тут нет ясности, это может быть любой utf-8 символ. Поэтому когда я говорю о самих указателях, которые упомянуты в сигнатуре, то я использую определенный артикль, когда же я говорю о том на что они указывают, то конкретики нет и я использую a/an.
Лучше сказать по-другому: функция принимает две "карточки" на которых написан номер телефона и в результате выдаёт третью на которой опять же номер телефона. Я точно знаю что на входе и выходе, более того - могу различать карточки - "результат", "вход1", "вход2". Поэтому "the return", "the arg1", ..., но "a telephone number of result"
Странно как-то, вот у меня тогда тоже может быть свой стиль и краткость не повредит.
-
- Сообщения: 2177
- Зарегистрирован: 01 мар 2018, 06:57
- Благодарил (а): 32 раза
- Поблагодарили: 850 раз
Для вас странно. Вы ж не носитель. А носитель привык видеть подобный "телеграфический" стиль в определённых контекстах (кратких инструкциях, рецептах и т.д.) и даже не задумывается об этом.
Ну я так понял, function returns a pointer to the next character after *pos, or *end if it fails (reaches the end of the string?)
- Yety
- Сообщения: 11195
- Зарегистрирован: 28 фев 2018, 23:44
- Благодарил (а): 3380 раз
- Поблагодарили: 5397 раз
Чтобы различать в сообщении старую для слушающего информацию и новую.
Это не самая лучшая формулировка.
Вообще, имеет смысл отталкиваться не от "правила", а от моделей использования и сравнивать изменения в смысле сообщения, когда меняешь артикль на другой.
Если же искать опору на правило, то самое эффективное - раскрыть смысл артиклей в переводе:
THE - почти всегда 'этот/эти',
А - почти всегда 'некий, один (из многих)',
0 (ноль) артикля - почти всегда '[нечто неисчисляемое] вообще'.
И, ориентируясь на эти вводные, набирать базу опыта, подмечая исключения, чтоб понять, что значит это 'почти'.
"этот самый" указатель
"этот самый" последующий символ после аргументов
THE next symbol after the arguments
Здесь наличествуют все возможные способы конкретизировать 'symbol':
'тот самый' последующий, 'тот самый' стоящий после,...
Символ воспринимается как совершенно конкретный - в каждой конкретной ситуации.
Вот сразу - один из случаев 'почти'.
Когда после существительного идёт числовое/буквенное обозначение, артикль не употребляется, а само существительное раньше почти всегда писали с большой буквы:
in Room 86, at Page 34, see Fig. 5, Drawing A, Catch 22,...
Так что артикли перед arg1 и arg2 - это как раз
if a fail - это устойчивый программерский оборот?
В объявлениях очень часто опускают артикли, чтоб зазря не разбрасываться словами.))
Yety (Ленья needs help)
Yety (Ленья needs help)
Так что если бы не в контексте объявления, было бы:
In (THE) case of AN emergency escape break THE glass with THE hammer
"в (каждом конкретном) случае одной из множества аварий разбей это окно этим молотком"
Добиваются сестры таланта..
Хоть в объявлениях и заголовках.
Так что и вы в команде в программе можете подрезать артикль:
in case of failure(?)
Последний раз редактировалось Yety 20 май 2021, 10:17, всего редактировалось 1 раз.
По сути - да. Но непонятно - почему "a pointer"? Это не какой-то один из, а вполне конкретный из этой сигнатуры, который указывает на char.
-
- Сообщения: 2177
- Зарегистрирован: 01 мар 2018, 06:57
- Благодарил (а): 32 раза
- Поблагодарили: 850 раз
Pointer, по идее, тоже переменная (которая содержит адрес другой переменный) и мы этой функцией создаём эту новую переменную и возвращаем. То есть, в предложении, я под "a pointer" подразумеваю некий новый pointer, о существовании которого я этим предложением объявил. Если бы я подразумевал уже какой-то существующий pointer, я бы написал "the pointer". Я поглядел по нету, вроде обычно используют "a pointer" (хотя бывают пишут и "the pointer", но либо в совершенно другом смысле, либо, видимо, что-то по-другому имеют в виду).
Ребята, спасибо за помощь, буду думать.
-
- Сообщения: 4325
- Зарегистрирован: 22 мар 2019, 17:15
- Благодарил (а): 815 раз
- Поблагодарили: 2884 раза
В случае любой аварии.
Аварий может быть много - неопределенный артикль. Но у каждой аварии будет один единственный, конкретный случай - определенный артикль.
По аналогии:
- the driver of a car (в любой машине только один-единственный водитель);
- the propeller of a helicopter (у любого вертолета один-единсвтенный пропеллер);
- the owner of a house (у любого дома один владелец).
The = уникальный. A = таких много.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 5 Ответы
- 350 Просмотры
-
Последнее сообщение Kind_Punk
19 фев 2019, 12:03
-
- 3 Ответы
- 837 Просмотры
-
Последнее сообщение noxior
20 мар 2024, 00:52
-
- 2 Ответы
- 608 Просмотры
-
Последнее сообщение Mary May
22 июн 2019, 12:02
-
- 3 Ответы
- 456 Просмотры
-
Последнее сообщение Роман Молти
09 авг 2018, 14:12
-
- 3 Ответы
- 408 Просмотры
-
Последнее сообщение tourist
29 авг 2018, 16:37
-
- 4 Ответы
- 574 Просмотры
-
Последнее сообщение rscatch
27 мар 2020, 16:22
-
-
Употребление времен в if + would предложении на примере
Nemed » 08 янв 2024, 21:17 » в форуме Грамматика - 1 Ответы
- 924 Просмотры
-
Последнее сообщение VictorB
09 янв 2024, 16:18
-