Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Всем доброго дня ! Разве функция не может комбинацию букв транслировать в другую ? :( Код: plaintext 1. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 14:20 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
ValeriuРазве функция не может комбинацию букв транслировать в другую ? :( Нет. Только "символ на символ"... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 14:21 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Valeriu , как вариант для решения... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 14:23 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Спасибо ! Сейчас попробуем . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 14:26 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
авторto krvsa Заработала. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 14:43 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Или $REPLACE (начиная с Caché 2008.1) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 14:47 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
servitначиная с Caché 2008.1 У клиентуры нашей пока 5.0 или 2007... Только начинается переход на 2009. Т.ч. функция МСМовских времён еще послужит! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 15:00 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
А мне для МСМ-а и нужно было ... )))))))))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 15:05 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Valeriu , тогда обращайся ежели чего. У нас целая подборка всяких функций есть. Все проверено годами эксплуатации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2010, 15:06 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
krvsa Valeriu , как вариант для решения... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Странный код (из другой программы делали?), по смыслу и стилю хотя бы так исправить: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 00:56 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
krvsa, Я не в смысле, что надо работающую программу исправлять :) работает, и не трогайте :) Просто, если защищена $get(Sub2), то и первые два параметра надо защищать на входе. И нет смысла в цикле вычислять или переприсваивать константы - только в заблуждение вводит - вдруг что-то в цикле меняется, количество подстроки Sub1 или переменная Sub2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 01:17 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
ser_shu , у тебя такое мнение/виденье... У меня такое... Я же тебе своё не навязываю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 08:27 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
:) пойнт оф вью Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 13:58 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Ой :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 14:24 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
doublefint , ты хоть потестируй функцию свою немного... Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 14:34 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
krvsa, делать на работе нечего, вот и решил потестить скриптик? ;))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 14:54 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
кеннннннннн , не ты меня нанимал... Не перед тобой и ответ держать. Да еще и аноним... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 14:58 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
krvsa, нервный какой :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 14:59 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
кеннннннннн , пора уже таких интересующихся моим рабочим временем в очередь записывать и плату брать. Таки озолочусь наверное! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 15:08 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
кенннннннннkrvsa, делать на работе нечего, вот и решил потестить скриптик? ;))) это не ошибка , а недокументированная особенность и вообще тестить вредно - для тестующего ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 16:54 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
krvsa, потестил :( Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 17:40 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Кто пополнит тестовый набор? Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 18:03 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
doublefintпотестил :( Кащея сейчас под рукой нет... Проверь как отработает твоя функция на таком примере Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 18:49 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Вариант от ISC (взятый из %stringreplace.inc и слегка подрихтованный) оказался самым быстрым из COSовских: продолжение темы "$piece vs ($find & $extract)". Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 19:08 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Cлегка подправил "драйвер тестов". Вариант от doublefint на примере krvsa вылетает по <MAXSTRING>. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 19:32 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
krvsa, спасибо :( Без внутренней переменной тяжело... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 20:00 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Еще Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 23:44 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Результаты :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 23:47 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
$$strrep - не умеет заменять на "" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2010, 23:48 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Модификация Код: plaintext 1. 2. 3. 4. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 08:21 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Вот мой код, которым я часто пользуюсь. (Скорость как-то не было необходимости тестировать, а вот с корректностью работы проблем пока не возникало.) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 09:19 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Еще ошибка, сорри :( Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 09:23 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
doublefintЕще ошибка, сорри :( Код: plaintext 1. 2. 3. 4. 5. 6. Вот что показывает несложный тест... Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 10:35 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
krvsadoublefintЕще ошибка, сорри :( Код: plaintext 1. 2. 3. 4. 5. 6. Вот что показывает несложный тест... Код: plaintext 1. пипец ! НАМ ЭТА НИАСИЛИТЬ !!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 11:13 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Что-то мне подсказывает, что для необратимых изменений нужна другая проверка корректности... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 11:16 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Alexey MaslovЧто-то мне подсказывает, что для необратимых изменений нужна другая проверка корректности... полный пипец !! необратимые изменения моска !! strrep(str,replace,with) public { ; (ISC, AM) q:$g(str)=""||($g(replace)="") str s with=$g(with),pos=0 loop Set pos=$find(str,replace,pos) QUIT:'pos str GOTO loop Set str=$extract(str,1,pos-$length(replace)-1)_with_$extract(str,pos,*),pos=pos+($length(with)-$length(replace)) Goto loop } w $$strrep(123,1,5) выдал 123 УЖОС !! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 11:29 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
MX-9w $$strrep(123,1,5) выдал 123 УЖОС !! MX-9и вообще тестить вредно - для тестующего Видно это еще и заразно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 11:55 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
krvsa, кстати поэтому $$strrep работал быстрее всех :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 12:18 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
MX-9w $$strrep(123,1,5) выдал 123 Исправлено. Теперь умеет заменять и на "". Скоростное преимущество сохраняется для длинных строк ($l(str)>200). Есть хоть какой-то толк от этих упражнений? м.б. жару немного помогут пережить :) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 13:20 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
На самом деле так (потерял проверку на пустую replace): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 13:26 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Alexey Maslov, толк есть - физзарядка ! жара у нас прекратилась - специально для Новой Волны посмотрите обязательно в записи вчерашний концерт в Юрмале Киркоров удивил - забойные штаны и клип ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 14:11 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
MX-9жара у нас прекратилась У нас похоже самый пик - по прогнозам две недели будет за 40. На солнце в полдень шкалы термометра не хватает - зашкаливает за 50. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 14:28 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
krvsa, в жару не кладите на сиденье авто CD-диски в пласмассовых коробках на солнце за время стоянки пластик скукоживается в художественные фигуры проверено лично ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 14:51 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
krvsaУ нас похоже самый пик - по прогнозам две недели будет за 40.Вам положено - вы южане :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 14:57 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
MX-9 , я руки об руль обжигаю. Пока кондёр его не охладит - ехать трудно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 15:02 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
А я в куртке на работу хожу, прохладно утром обычно пасмурно. сейчас +13 У нас к сотруднице москвичи в гости приехали, не выдержали жары, у нас прохладно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 15:07 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Блок А.Н.сейчас +13 Жуть! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 15:12 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Еще Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 15:33 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 15:35 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
"Левый" $P проигрывает обычному + сцепка. Посмотрим, что будет с "левым" $E. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: plaintext 1. Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 16:36 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
doublefint, если исправить проверку корректности на: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 16:58 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Alexey Maslov, код предложите? ;) Кстати, не понял зачем подбирать символ, можно без него Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 17:33 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Еще раз итого: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 17:47 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Если улучшенный Вами алгоритм $$strrep перевести на левую $E(), то он снова выйдет в лидеры (2-6% ускорения, в зависимости от длины строки): Код: plaintext 1. 2. 3. 4. Действительно, $replace() хорошая функция (и она может больше, см. док-ю). Есть плюсы и у оригинальной $$strrep() от ISC: она умеет оставлять нетронутыми закавыченные строки. А вот что не очень обрадовало, так это резкое замедление скорости работы $E() на строках длиннее 10000. Линейное замедление (как функцию длины строки) показывает только $replace (которая, очевидно, не на COSе писана ;). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 18:10 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Alexey MaslovЧто-то мне подсказывает, что для необратимых изменений нужна другая проверка корректности... В приведенном Вами коде проверки корректности неверна методика в части сравнения строк до и после замены. Например была строка str="222". После замены подстроки "111" на "222" получим ту же "222", и при обратной замене "222" на "111" получим "111", что не есть исходная строка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2010, 18:37 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Alexey MaslovПричины: отсутствие лишних проверок, goto vs. for, и бОльшая эффективность процедур по ср. с "классическими" функциями. Вы серьезно полагаете, что GOTO эффективней по скорости, чем FOR? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 01:22 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Alexey Maslov, r(str,s1,s2) s L=$lfs(str,s1),new="" f i=1:1:$ll(L) s new=new_$lg(L,i)_s2 q $e(new,1,$l(new)-$l(s2)) работает быстрее чем $Replace :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 02:00 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
ну я (Евгений :), уже исправлено на сравнение с "эталоном" ($replace). См. выше. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 09:04 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
MX-9Alexey Maslov, r(str,s1,s2) s L=$lfs(str,s1),new="" f i=1:1:$ll(L) s new=new_$lg(L,i)_s2 q $e(new,1,$l(new)-$l(s2)) работает быстрее чем $Replace :)Можете привести данные, на которых вы делали этот тест? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 09:50 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Ок, пробуем: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 09:54 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Sergei ObrastsovВы серьезно полагаете, что GOTO эффективней по скорости, чем FOR? :)Сам удивился :) Небольшое ускорение есть, ~ 2-6%. По-видимому, засчет того, что в случае FOR нужен лишний QUIT. MX-9r(str,s1,s2) s L=$lfs(str,s1),new="" f i=1:1:$ll(L) s new=new_$lg(L,i)_s2 q $e(new,1,$l(new)-$l(s2)) работает быстрее чем $ReplaceТесты показали, что это не так. Проигрывает даже $$strrep. Я ее привел к "стандартному виду", чтобы не вылетала по <STRINGSTACK>: Код: plaintext 1. 2. 3. 4. 5. 6. Тестировал на наборе: Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. $$strrepfor - он же, goto loop заменена на for. $$strreplist - можно порекомендовать пользователям Cache 5.1-2007.1, у которых нет $replace. У этого варианта, как и у $replace, линейный рост t_run( $length(str) ): Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 10:09 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
krvsa ser_shu , у тебя такое мнение/виденье... У меня такое... Я же тебе своё не навязываю. доктор, а почему вы все время неприличные картинки рисуете? (с) ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 10:28 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Alexey Maslov ......... $$strreplist - можно порекомендовать пользователям Cache 5.1-2007.1, у которых нет $replace. У этого варианта, как и у $replace, линейный рост t_run( $length(str) ): Код: plaintext 1. 2. 3. ------------------------------------------------------ Алексей мой выпад против $replace был скороспелым Притом Ваш $$strreplist конечно лучше, и на новых версиях CACHE его тоже можно применять (с вариациями) - если нужен болеее специальный $replace линейная зависимость от длины строки ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 10:44 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
servit, я тестировал на коротких строках ночью при свете луны думаю наш {Большой_Тест_DoublelFint} снимает все вопросы ( с учетом поправок Алексея Маслова - $$strreplist ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 10:51 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Так если подвести итоги: До версии 5.1 Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 10:57 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
doublefintДо версии 5.1А также - после очевидных правок - для других реализаций MUMPS :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 11:12 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Код программы Trans Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. Результаты (для версии 2010.2.FT5): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. MX-9 , Cпасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 11:12 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 11:26 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
а все-таки она вертится .. $$strreplist быстрее чем $replace иногда .. ==================================== TRF>d %ztest^test(11) $replace 0.00004648 correct 1 $$TransShu 0.00167378 correct 1 $$TransDF 0.00019303 correct 1 $$strrep 0.00078926 correct 1 $$strreplist 0.00004613 correct 1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 11:31 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
MX-9, В последней версии Caché при десятке попыток, результат стабильный (в пользу $replace ): Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 11:48 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
а если их еще правильно приготовить .. TRF>d %ztest^test(11) $replace 0.00004752 correct 1 $$TransShu 0.00167448 correct 1 $$TransDF 0.00019307 correct 1 $$strrep 0.00078935 correct 1 $$strreplist 0.00001916 correct 1 i cmd["list" f ni=1:1:N s test=1_$s($l(Str)*$l(Sub1):$listtostring($listfromstring(Str,Sub1),Sub2),1:Str) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 12:08 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Между прочим, если озаботиться введением параметра CASE, то шустрые варианты с $List* - "в пролёте", а $$strrep() доработать совсем не сложно. Скорость вот только (навскидку) вдвое просядет... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 12:27 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Alexey Maslov, поясните мысль ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 12:42 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Имел в виду регистронезависимую замену. Как в Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 12:59 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Alexey MaslovМежду прочим, если озаботиться введением параметра CASE, то шустрые варианты с $List* - "в пролёте", а $$strrep() доработать совсем не сложно. Скорость вот только (навскидку) вдвое просядет... похоже для старых версий и иных реализаций MUMPS надо сделать полную $$имитацию $replace невзирая на потери в скорости и закрыть тему ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 14:15 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
MX-9надо сделать полную $$имитацию $replaceНеплохое упражнение студенту. Студенты на форуме есть - или на каникулах все? :) Если серьезно, то полная имитация может быть и не нужна, т.к. у каждого своя специфика. ИМХО, не помешала бы библиотека для работы с регулярными выражениями, она бы закрыла такие частные случае, как замена подстрок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 14:29 |
|
||
|
$TRANSLATE
|
|||
|---|---|---|---|
|
#18+
Alexey MaslovMX-9надо сделать полную $$имитацию $replaceНеплохое упражнение студенту. Студенты на форуме есть - или на каникулах все? :) Если серьезно, то полная имитация может быть и не нужна, т.к. у каждого своя специфика. ИМХО, не помешала бы библиотека для работы с регулярными выражениями, она бы закрыла такие частные случае, как замена подстрок. С регулярными не совсем то. Там подстрока которую надо заменить должна быть частью регулярного выражения. Посему решил себе дополнительно к $zpcre добавить $replace как встроенную. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2010, 15:04 |
|
||
|
|

start [/forum/topic.php?all=1&fid=39&tid=1558007]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
132ms |
get tp. blocked users: |
2ms |
| others: | 263ms |
| total: | 498ms |

| 0 / 0 |
