Как пополнить массив, объявленный внутри функции?

Статус
Закрыто для дальнейших ответов.
1) вместо замысловатой конструкции пишете accent[myWord] = '*';
Еще раз поясню, откуда эта "замысловатая конструкция". После автоматической простановки скриптом ударений в тексте, остаются слова, которых либо нет в словаре, либо они имеют неоднозначное ударение. Другим скриптом я собираю их в отдельных документ (по одному слову в строке), чтобы поместить их в словарь, в том виде в котором они там находятся: однозначные - accent['аарон']='аар=он'; , неоднозначные - accent['сердца']='*'; . Я пытался написать скрипт, пополняющий словарь из этого нового документа автоматически, но из дискуссии с вами понял, что это проблематично. Теперь, хотя бы в этом документе я хочу, чтобы они превратились из столбца просто слов, в столбец строк, который можно поместить в словарь ручками. Вот этой строкой:
Код:
myWord = myWord.replace(myWord, 'accent\[\''+myWord+'\'\]\=\'\*\';');
я получаю словарную строку из "неоднозначных" слов именно в том виде, в котором она должна быть в словаре (алерт мне это показывает). Я полагал (по неопытности), что реплейс поменяет ее в тексте, но этого не происходит по причине 2)
2) потому что myWord уже не в тексте. во второй строчке вы в эту переменную загнали уже просто строковое значение.
Вопрос остается, как сделать, чтобы слово в документе превратилось в строку в том виде, как я написал выше
...довольно странно, что вы не понимаете собственный код - как вы его пишете?
Методом "научного" тыка :)
 

Не по теме:
Тут человек массив со словарем не различает, а ты его такими страшными вещами пугаешь '))'
Ну для особо веселых, щас мне некогда ссылку искать, но если вы будете настаивать, то я найду... Так вот я прекрасно различаю массив и ассоциативный массив, то бишь словарь. И если я где-то выше и назвал свой словарь массивом, то подразумевал, что таким высокоумным людям как вы понятно, что речь идет о "ассоциативном массиве".
 
Вот этой строкой:
myWord = myWord.replace(myWord, 'accent\[\''+myWord+'\'\]\=\'\*\';');
я получаю словарную строку
Нет, этой строкой вы ничего не получите и вам уже несколько раз объяснили почему. Не поленитесь и прочитайте мой пост #38 там написано примерно как надо
 
Нет, этой строкой вы ничего не получите и вам уже несколько раз объяснили почему. Не поленитесь и прочитайте мой пост #38 там написано примерно как надо
Не получу где? В документе? Это я уже увидел. А вот в переменной myWord я именно то, что нужно и получаю.
 
А вот в переменной myWord я именно то, что нужно и получаю.
Что, правда, что ли? '%)' Ну, даже если это и, внезапно, так, то с чего вы взяли, что вместе с переменной должен и текст где-то синхронно меняться?
досконально знаю все свойства и методы их
При чем тут доскональное знание? Тем более, лично я первым своим постом метнул вам источник этого самого сакрального знания. Попытка запихивать пушем элементы в ассоциативный массив показывает, что вы совершенно не понимаете суть его. Точно так же то, что вы пытаетесь сформировать в текстовой строке код, подключаемый по include и удивляетесь, что ничего не происходит. Вы даже трем умным людям ход своих просветленных мыслей толком объяснить не можете.
 
Что, правда, что ли? '%)' Ну, даже если это и, внезапно, так, то с чего вы взяли, что вместе с переменной должен и текст где-то синхронно меняться?
Поставьте алерт после этой строки и убедитесь...
... показывает, что вы совершенно не понимаете суть его. ...
Ну хорошо, пусть будет так, если уж вам так хочется потешить ваше гиперсамолюбие.
 
Поставьте алерт после этой строки и убедитесь...
В любом случае - это неправильный подход, так не делают. По идее и работать не должно, если вы (вопреки своей обычной манере) вдумаетесь в смысл производимого этой строкой, то поймете, что у вас там, фактически, рекурсивный вызов идет. Не говоря уже о том, что вы простейшее действие пытаетесь очень сложным методом реализовать.
Но суть происходящего не в этом, а в том, что
вы пытаетесь сформировать в текстовой строке код, подключаемый по include и удивляетесь, что ничего не происходит
 
В любом случае - это неправильный подход, так не делают. По идее и работать не должно, если вы (вопреки своей обычной манере) вдумаетесь в смысл производимого этой строкой, то поймете, что у вас там, фактически, рекурсивный вызов идет. Не говоря уже о том, что вы простейшее действие пытаетесь очень сложным методом реализовать.
Но суть происходящего не в этом, а в том, что
Если это, как вы пишете "простейшее" действие, то гораздо конструктивней было бы просто написать, как это сделать, чем городить огород оскорблений и обвинений, так и не показав решения.
 
Если это, как вы пишете "простейшее" действие, то гораздо конструктивней было бы просто написать, как это сделать, чем городить огород оскорблений и обвинений, так и не показав решения.
В третий раз повторяю - см. мой пост #38
Но это не решение общей проблемы, а только метод, как правильно реализовать действие безумной строки, которая, по вашим словам, и так правильно работает.
Как решать общую проблему я не знаю, потому как уже третью страницу не можем добиться от вас вразумительного ответа - что же именно вам надо получить в итоге? Вы хотите очень странного - программу, модифицирующую собственный код? Даже такое безумное действие можно реализовать (хотя, по хорошему, Олег вам более правильный человеческий метод указал) - но делается это гораздо сложнее: нужно эту полученную переменную хотя бы где нибудь в файл записывать. А у вас этой записи нет. И все равно я не пойму, зачем вам нужен код, в котором построчно каждому элементу словаря присваивается звездочка? Это ж можно гораздо проще сделать! %8
 
В третий раз повторяю - см. мой пост #38
Да посмотрел, и не спорю, и заменил уже свою строку вашей и поблагодарил вас...
Но это не решение общей проблемы, а только метод, как правильно реализовать действие безумной строки, которая, по вашим словам, и так правильно работает.
Как решать общую проблему я не знаю, потому как уже третью страницу не можем добиться от вас вразумительного ответа - что же именно вам надо получить в итоге?
Что я хочу ПОДРОБНО описано в моем посту #41, а вот то, что вы дальше пишете:
Вы хотите очень странного - программу, модифицирующую собственный код? ...
- это ваши домыслы...
(хотя, по хорошему, Олег вам более правильный человеческий метод указал) - но делается это гораздо сложнее: нужно эту полученную переменную хотя бы где нибудь в файл записывать. А у вас этой записи нет. И все равно я не пойму, зачем вам нужен код, в котором построчно каждому элементу словаря присваивается звездочка? Это ж можно гораздо проще сделать! %8
Не каждому, а некоторым (еще раз, см.#41) - на форум вынесен только кусочек кода.
 
То есть, запись в файл переменной myWord все таки присутствует где то?
Ок, приложите код где это происходит!
Покажите место в моих сообщениях, из которого вы сделали такой странный вывод.
 
Покажите место в моих сообщениях, из которого вы сделали такой странный вывод.
Гм, то есть в файл вы переменную не записываете и не собираетесь? %8
Вы меня извините, но тогда наше наше обсуждение в сухом остатке выглядит примерно так:
- Помогите, кто может, моя программа не работает, что в ней не так?
- Ок, приложите код где это происходит?
- А кода нет, и с чего вы вообще взяли, что он есть? Покажите место в моих сообщениях, из которого вы сделали такой странный вывод.
- ????????? '%)'
 
Гм, то есть в файл вы переменную не записываете и не собираетесь? %8
Вы меня извините, но тогда наше наше обсуждение в сухом остатке выглядит примерно так:
- Помогите, кто может, моя программа не работает, что в ней не так?
- Ок, приложите код где это происходит?
- А кода нет, и с чего вы вообще взяли, что он есть? Покажите место в моих сообщениях, из которого вы сделали такой странный вывод.
- ????????? '%)'
Кроме ваших домыслов в вашем сообщении НИЧЕГО нет. На месте модератора я указал бы вам на недостойное поведение.
Комментарий модератора: @Сергий Задонский , следующая Ваша попытка дать совет модератору будет приравнена к пререканиям с соответствующими последствиями (Правила форума, п.6.9).
 
Последнее редактирование модератором:
Модераторы! Призываю вас в свидетели!
Вы поглядите на этого товарища - я с ним второй день нянчусь, как родная мама, потчую его с ложечки бесценным светом знания, разжевывая по крупицам - и вот она благодарность! 'alil'
Ладно, я не злой и терпеливый, продолжим наши упражнения, в конце концов, вода камень точит.
Рассмотрим ваш индусский код из сообщения #1
for (j=0; j <= myTextFrame.words.length-1; j++)
внутри данного цикла объявляется некая (локальная к циклу, прошу обратить внимание!) строковая переменная myWord - так? Вы засылаете в эту переменную некое текстовое значение, затем двумя последующми операторами модифицируете его. Затем вы хотите его пхнуть в некий массив accent, который, как выяснилось, и не массив быть должен, а очень таки даже словарь - короче говоря, передумали вы его пушать туда - правильно я понимаю? В итоге значение этой переменной на следующем витке цикла просто теряется, просто присваивается по новой, а по выходу из цикла исчезает и сама переменная, как будто и не было ее никогда вовсе!
Каким, интересно, образом вы хотите, чтобы при этом процессе модифицировался код, содержащийся в программном модуле TestAccent.jsx?
Я понятно излагаю?
 
только еще раз напомню - свойства объекта никак не упорядочены
Хорошо, значит ли это, что обращение к сортированному по алфавиту словарю (вида: "ключ = значение") и не сортированному будет одинаково по времени?
 
Статус
Закрыто для дальнейших ответов.