Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Имена методов зависят от регистра?
|
|||
|---|---|---|---|
|
#18+
Всегда думал, что да. Это кажется логичным, т.к. ИмяМетода компилируется в *.INT и *.OBJ-коде в метку zИмяМетода , а имена меток в COS регистрозависимы. Об этом и в документации есть: ДокументацияCase Sensitivity Some parts of ObjectScript are case-sensitive while others are not. Generally speaking, the user-definable parts of ObjectScript are case-sensitive while keywords are not: Case-sensitive: local variable names, process-private global names, global names, variable subscript names, class names, method names , property names, routine names, macro names, label names, lock names, passwords, Embedded SQL host variable names, Embedded SQL marker strings. ...Однако сегодня меня "носом ткнули": оказывается, если в классе определены методы с именами, совпадающими с точностью до регистра, Cache выдаёт ошибку при компиляции $$$ElementSameNameInCase (5117). Проверено в Cache 2010.1.4 и в 2011.1.4. Как думаете, коллеги, это бага или фича? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 15:49 |
|
||
|
Имена методов зависят от регистра?
|
|||
|---|---|---|---|
|
#18+
Alexey MaslovКак думаете, коллеги, это бага или фича? SQL... Т.к. именно там я и натолкнулся на что-то подобное. Регистр был разный, а там на регистр не смотрят... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 15:53 |
|
||
|
Имена методов зависят от регистра?
|
|||
|---|---|---|---|
|
#18+
Отвечу сам себе:Док-яClass Names All identifiers related to classes (class names, property names, method names, etc.) are case-sensitive. For purposes of uniqueness, however, such names are considered to be not case-sensitive; that is, two class names cannot differ by case alone. Т.е. независимость от регистра односторонняя:нельзя вызвать метод, допустив ошибку в регистре его имени и в то же время имена методов не должны отличаться только регистром Это касается не только методов, но и прочих элементов определения класса, ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 15:55 |
|
||
|
Имена методов зависят от регистра?
|
|||
|---|---|---|---|
|
#18+
krvsa, Да, похоже причина в этом. Но фича проявляется в любых классах, а не только в %Persistent. Видимо, правило сделали общим для всех классов (а не только для хранимых) для упрощения реализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 16:00 |
|
||
|
Имена методов зависят от регистра?
|
|||
|---|---|---|---|
|
#18+
Alexey MaslovВидимо, правило сделали общим для всех классов (а не только для хранимых) для упрощения реализации. Наверное... Я просто сразу сделал для себя оргвыводы и проблем больше не имел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.05.2012, 16:02 |
|
||
|
Имена методов зависят от регистра?
|
|||
|---|---|---|---|
|
#18+
код который мне приходится поддерживать, по какой то уже неизвестной далекой причине содержит методы с одинаковым именем но имеет различия в регистре, для того чтобы код компилировался используем специальный флаг в одном из системных глобалов, сейчас не скажу, потому как в отпуске, вернусь в понедельник, напишу. на деле конечно нужно от этого избавиться но пока как то руки не доходят. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 21:13 |
|
||
|
Имена методов зависят от регистра?
|
|||
|---|---|---|---|
|
#18+
http://docs.intersystems.com/cache20121/csp/docbook/DocBook.UI.Page.cls?KEY=GOBJ_classes#GOBJ_classes_idrules]General Identifier Rules for Classes and Class Members Цитата из документацииIdentifiers preserve case: you must exactly match the case of a name; at the same time, two classes cannot have names that differ only in case. For example, the identifiers “id1” and “ID1” are considered identical for purposes of uniqueness. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 21:49 |
|
||
|
Имена методов зависят от регистра?
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 21:58 |
|
||
|
Имена методов зависят от регистра?
|
|||
|---|---|---|---|
|
#18+
servit, спасибо, но разве здесь 12551073 не то же самое сказано, только другими словами? DAiMor, мы к счастью лишь недавно (буквально на днях) наступили на эти грабли, и подавили болезнь в зародыше :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.05.2012, 23:37 |
|
||
|
Имена методов зависят от регистра?
|
|||
|---|---|---|---|
|
#18+
Alexey Maslov , То же самое. Это было скорее в копилку ссылок по теме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.05.2012, 08:45 |
|
||
|
Имена методов зависят от регистра?
|
|||
|---|---|---|---|
|
#18+
как и обещал флаг который дает возможность компилить код с разным регистром методов s ^%qCacheObjectSys("strictchecking")=0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2012, 12:07 |
|
||
|
Имена методов зависят от регистра?
|
|||
|---|---|---|---|
|
#18+
В дополнение к сказанному DAiMor : Class Member Naming Checks Made More Strict ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.05.2012, 12:17 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=37798160&tid=1557463]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 233ms |
| total: | 360ms |

| 0 / 0 |
