Просмотр полной версии : Как может постоянная быть переменной?
Или это я туплю, или тупят те, кто так пишет. Уже не в первый раз вижу запись типа:
Constant static variable. Пока перевожу документацию юниона, встретил это уже раз 100, если не больше.
Но ведь этого не может быть? Чисто логически. Как может переменная быть постоянной?
Если постоянная изменяется в процессе, то это уже переменная. По сути слова антонимы.
Что это вообще хрень? :wacko:
Psycho Tiger
15.01.2011, 22:47
Покажите где )
Ты ко мне на вы? )
Ну, например здесь http://www.unionplatform.com/docs/reactorgui/api/1.0.0_Beta1/all-index-D.html
DEFAULT_POSITION_LIST_ATTRIBUTE_NAME — Constant Static Variable, class net.user1.reactor.motion.PositionBroadcaster
И так почти на всех страницах
Может быть Constant не "Константа" (в смысле "константа языка" или "константа класса"), а в смысле "Неизменяемая"?
"Неизменяемая статическая переменная", т.е., то есть неизменяемая в определенных рамках, в определенных временных промежутках?
Тогда "Неизменяемая" - будет адекватный перевод.
в коде они обозначены так:
public static const DEFAULT_POSITION_LIST_ATTRIBUTE_NAME:String = "defaultPositionListAtributeName";
Так что, все-таки константа
Видимо человеку хотелось показаться умнее за счет наличия большого количества умных слов :)
Ну это же Мук. При всём моём к нему уважении - странное попадается иногда (http://books.google.ru/books?id=gUHX2fcLKxYC&pg=PA80&lpg=PA80&dq=%22Constant+Static+Variable%22&source=bl&ots=cuYV0kjZx0&sig=9GMRPowzkMZlgCSzGUCErXwvoT0&hl=ru&ei=QR0yTdSuFoWVOoOj9LQC&sa=X&oi=book_result&ct=result&resnum=10&sqi=2&ved=0CHIQ6AEwCQ#v=onepage&q=%22Constant%20Static%20Variable%22&f=false):
Судя по беглому взгляду:
DEFAULT_LABEL — Static Variable, ...
DEFAULT_POSITION_LIST_ATTRIBUTE_NAME — Constant Static Variable, ...
DEFAULT_SAMPLE_RATE — Static Variable, ...
DEFAULT_SEND_RATE — Constant Static Variable, ...
автор еще не определился масляное у него масло или же немасляное ;)
имеется в виду переменная которая имеет постоянное значение, что в сути и есть константа.
употребление подобной формы не является ошибкой и вполне вменяемо.
более широкое объяснение: постоянной переменной называется переменная, значение для которой невозможно изменить после присваивания.
Пофлеймлю малость...
В английском - это противоположные по смыслу слова. Вот из того же wiktionary.org
Constant:
Noun
constant (plural constants)
That which is permanent or invariable.
Invariable:
Adjective
invariable (not comparable)
Not variable; constant.
В нашем примере constant употреблено именно как прилагательное, поэтому исходя из следствия, получаем:
constant = Not variable.
Вот и получается:
Not variable Static Variable
Аналогично, что и на русском
Непеременная статичная переменная
Уж либо переменная, либо непеременная..
Выводы: в принципе понятно, что автор хотел пояснить этими словами. Но лексически, предложение построено неверно.
чтд. 8)
Constant variable
Definition: A variable whose value cannot be changed once it has been assigned a value.
Константа - это переменная содержащая изначально значение, которое мы не можем изменить. Константная переменная не имеет изначального значения, но после присвоения такового ей его изменить на протяжении программы уже нельзя. В РНР есть подобная штуковина.
Да не выдумывайте, либо переменная, либо постоянная, эти вещи взаимоисключающие, а то, о чем вы говорите называется http://msdn.microsoft.com/en-us/library/acdd6hb7(v=vs.71).aspx .
Вот и я о том же.
Но это наблюдается не только у Мука. Просто я столкнулся с этим у него. А если погуглить, такие конструкции встречаются сплошь и рядом. И в документации С++ и в джаве, и еще много где.
Константа - это переменная содержащая изначально значение, которое мы не можем изменить. Константная переменная не имеет изначального значения, но после присвоения такового ей его изменить на протяжении программы уже нельзя. В РНР есть подобная штуковина.
Даже если предположить, что это так (что у меня лично не укладывается в голове), то значения им должны даваться где-то в конструкторе, а в реакторе юниона, они присвоены сразу при объявлении.
Переводите как константа и не забивайте голову.
Да я так и делаю :)
Просто хотел узнать, правильно это или нет
Psycho Tiger
16.01.2011, 18:31
Моё имо, что сначала человеку дают понятие "переменная". А потом "константа". Речь о программировании.
Как объяснить что такое константа максимально просто? Это неизменяемая переменная. В итоге переменная выступает в роли лексемы (идентификатора), а не в роли чего-то, что можно изменить.
Документация к платформе юнион - это не то место, где есть люди не понимающие что такое переменная или постоянная
в коде они обозначены (пост 5) как:
public static const
я один здесь не заметил кейворда var ?
там нет var, там именно const.
К чему вопрос?
ну так и я про что? Вывод - это константа, а не "константная переменная", или как там..
Суть темы в этом и состоит ;)
объявлены константы, а пишут про переменные
Можно ради интереса спросить у самого Колина Мука. Он довольно общительный чувак :D
спроси, если есть возможность)
Да не выдумывайте, либо переменная, либо постоянная, эти вещи взаимоисключающие, а то, о чем вы говорите называется http://msdn.microsoft.com/en-us/library/acdd6hb7(v=vs.71).aspx .
пардон, действительно спутал, в РНР такого нет
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.