Как менять падежи слова в зависимости от числа?
-
Я пытался реализовать функцию JavaScript но либо она неправильно построена либо я что-то не там поставил подскажите как правильнее будет реализовать эту функцию в BAS вот ссылка на функцию: https://realadmin.ru/coding/sklonenie-na-javascript.html вот коды моих попыток реализовать ее в BAS:
BAS:[{"name":"","code":"/*Dat:eyJzIjoic2V0dmFyaWFibGUiLCJ2IjoxLCJmIjpbXSwidXciOiIwIiwidXQiOiIwIiwidXRvIjoiMCIsInVtIjoiMCIsImQiOlt7ImlkIjoiU2V0VmFyaWFibGVOYW1lIiwidHlwZSI6InZhciIsImRhdGEiOiJXT1JEUyJ9LHsiaWQiOiJTZXRWYXJpYWJsZVZhbHVlIiwidHlwZSI6ImNvbnN0ciIsImRhdGEiOiJbKFtbU0FWRURfVEVYVF8zXV0gJSAxMDAgPiA0ICYmIFtbU0FWRURfVEVYVF8zXV0gJSAxMDAgPCAyMCkgPyAyIDogWzIsIDAsIDEsIDEsIDEsIDJdWyhbW1NBVkVEX1RFWFRfM11dICUgMTAgPCA1KSA/IE1hdGguYWJzKFtbU0FWRURfVEVYVF8zXV0pICUgMTAgOiA1XV0iLCJjbGFzcyI6ImV4cHJlc3Npb24ifV19*/\nVAR_WORDS = [(VAR_SAVED_TEXT_3 % 100 > 4 && VAR_SAVED_TEXT_3 % 100 < 20) ? 2 : [2, 0, 1, 1, 1, 2][(VAR_SAVED_TEXT_3 % 10 < 5) ? Math.abs(VAR_SAVED_TEXT_3) % 10 : 5]]","internal_label_id":"","dat_precomputed":null,"search_precomputed":null,"code_precomputed":null,"parentid":0,"id":352833814,"donotexecuteduringrecord":false,"is_selected":false,"color":"","is_fold":false,"fd":""}]
BAS:[{"name":"","code":"/*Dat:eyJzIjoic2V0dmFyaWFibGUiLCJ2IjoxLCJmIjpbXSwidXciOiIwIiwidXQiOiIwIiwidXRvIjoiMCIsInVtIjoiMCIsImQiOlt7ImlkIjoiU2V0VmFyaWFibGVOYW1lIiwidHlwZSI6InZhciIsImRhdGEiOiJTQVZFRF9URVhUXzMifSx7ImlkIjoiU2V0VmFyaWFibGVWYWx1ZSIsInR5cGUiOiJjb25zdHIiLCJkYXRhIjoiTWF0aC5hYnMoW1tTQVZFRF9URVhUXzNdXSkgJSAxMDAiLCJjbGFzcyI6ImV4cHJlc3Npb24ifV19*/\nVAR_SAVED_TEXT_3 = Math.abs(VAR_SAVED_TEXT_3) % 100","internal_label_id":"","dat_precomputed":null,"search_precomputed":null,"code_precomputed":null,"parentid":0,"id":425708491,"donotexecuteduringrecord":false,"is_selected":false,"color":"","is_fold":false,"fd":""},{"name":"","code":"/*Dat:eyJzIjoic2V0dmFyaWFibGUiLCJ2IjoxLCJmIjpbXSwidXciOiIwIiwidXQiOiIwIiwidXRvIjoiMCIsInVtIjoiMCIsImQiOlt7ImlkIjoiU2V0VmFyaWFibGVOYW1lIiwidHlwZSI6InZhciIsImRhdGEiOiJOMSJ9LHsiaWQiOiJTZXRWYXJpYWJsZVZhbHVlIiwidHlwZSI6ImNvbnN0ciIsImRhdGEiOiJbW1NBVkVEX1RFWFRfM11dICUgMTAiLCJjbGFzcyI6ImV4cHJlc3Npb24ifV19*/\nVAR_N1 = VAR_SAVED_TEXT_3 % 10","internal_label_id":"","dat_precomputed":null,"search_precomputed":null,"code_precomputed":null,"parentid":0,"id":104516456,"donotexecuteduringrecord":false,"is_selected":false,"color":"","is_fold":false,"fd":""},{"name":"","code":"/*Dat:eyJzIjoiaWYiLCJ2IjoxLCJmIjpbXSwidXciOiIwIiwidXQiOiIwIiwidXRvIjoiMCIsInVtIjoiMCIsImQiOlt7ImlkIjoiSWZFeHByZXNzaW9uIiwidHlwZSI6ImNvbnN0ciIsImRhdGEiOiJbW1NBVkVEX1RFWFRfM11dID4gMTAgJiYgW1tTQVZFRF9URVhUXzNdXSA8IDIwIiwiY2xhc3MiOiJleHByZXNzaW9uIn0seyJpZCI6IklmRWxzZSIsInR5cGUiOiJjaGVjayIsImRhdGEiOmZhbHNlfV19*/\n_set_if_expression(\"W1tTQVZFRF9URVhUXzNdXSA+IDEwICYmIFtbU0FWRURfVEVYVF8zXV0gPCAyMA==\");\n_if(VAR_SAVED_TEXT_3 > 10 && VAR_SAVED_TEXT_3 < 20,function(){\nsection_insert()\n})!","internal_label_id":"","dat_precomputed":null,"search_precomputed":null,"code_precomputed":null,"parentid":0,"id":231818192,"donotexecuteduringrecord":false,"is_selected":false,"color":"","is_fold":false,"fd":""},{"name":"","code":"/*Dat:eyJzIjoicmV0dXJuIiwidiI6MSwiZiI6W10sInV3IjoiMCIsInV0IjoiMCIsInV0byI6IjAiLCJ1bSI6IjAiLCJkIjpbeyJpZCI6IlJldHVyblZhbHVlIiwidHlwZSI6ImNvbnN0ciIsImRhdGEiOiJbW1RFWFRfRk9STVNdXVsyXSIsImNsYXNzIjoiZXhwcmVzc2lvbiJ9XX0=*/\n_function_return(VAR_TEXT_FORMS[2])","internal_label_id":"","dat_precomputed":null,"search_precomputed":null,"code_precomputed":null,"parentid":231818192,"id":658871391,"donotexecuteduringrecord":false,"is_selected":false,"color":"","is_fold":false,"fd":""},{"name":"","code":"/*Dat:eyJzIjoiaWYiLCJ2IjoxLCJmIjpbXSwidXciOiIwIiwidXQiOiIwIiwidXRvIjoiMCIsInVtIjoiMCIsImQiOlt7ImlkIjoiSWZFeHByZXNzaW9uIiwidHlwZSI6ImNvbnN0ciIsImRhdGEiOiJbW04xXV0gPiAxICYmIFtbTjFdXSA8IDUiLCJjbGFzcyI6ImV4cHJlc3Npb24ifSx7ImlkIjoiSWZFbHNlIiwidHlwZSI6ImNoZWNrIiwiZGF0YSI6ZmFsc2V9XX0=*/\n_set_if_expression(\"W1tOMV1dID4gMSAmJiBbW04xXV0gPCA1\");\n_if(VAR_N1 > 1 && VAR_N1 < 5,function(){\nsection_insert()\n})!","internal_label_id":"","dat_precomputed":null,"search_precomputed":null,"code_precomputed":null,"parentid":0,"id":157529525,"donotexecuteduringrecord":false,"is_selected":false,"color":"","is_fold":false,"fd":""},{"name":"","code":"/*Dat:eyJzIjoicmV0dXJuIiwidiI6MSwiZiI6W10sInV3IjoiMCIsInV0IjoiMCIsInV0byI6IjAiLCJ1bSI6IjAiLCJkIjpbeyJpZCI6IlJldHVyblZhbHVlIiwidHlwZSI6ImNvbnN0ciIsImRhdGEiOiJbW1RFWFRfRk9STVNdXVsxXSIsImNsYXNzIjoiZXhwcmVzc2lvbiJ9XX0=*/\n_function_return(VAR_TEXT_FORMS[1])","internal_label_id":"","dat_precomputed":null,"search_precomputed":null,"code_precomputed":null,"parentid":157529525,"id":603698305,"donotexecuteduringrecord":false,"is_selected":false,"color":"","is_fold":false,"fd":""},{"name":"","code":"/*Dat:eyJzIjoiaWYiLCJ2IjoxLCJmIjpbXSwidXciOiIwIiwidXQiOiIwIiwidXRvIjoiMCIsInVtIjoiMCIsImQiOlt7ImlkIjoiSWZFeHByZXNzaW9uIiwidHlwZSI6ImNvbnN0ciIsImRhdGEiOiJbW04xXV0gPT0gMSIsImNsYXNzIjoiZXhwcmVzc2lvbiJ9LHsiaWQiOiJJZkVsc2UiLCJ0eXBlIjoiY2hlY2siLCJkYXRhIjpmYWxzZX1dfQ==*/\n_set_if_expression(\"W1tOMV1dID09IDE=\");\n_if(VAR_N1 == 1,function(){\nsection_insert()\n})!","internal_label_id":"","dat_precomputed":null,"search_precomputed":null,"code_precomputed":null,"parentid":0,"id":593072591,"donotexecuteduringrecord":false,"is_selected":false,"color":"","is_fold":false,"fd":""},{"name":"","code":"/*Dat:eyJzIjoicmV0dXJuIiwidiI6MSwiZiI6W10sInV3IjoiMCIsInV0IjoiMCIsInV0byI6IjAiLCJ1bSI6IjAiLCJkIjpbeyJpZCI6IlJldHVyblZhbHVlIiwidHlwZSI6ImNvbnN0ciIsImRhdGEiOiJbW1RFWFRfRk9STVNdXVswXSIsImNsYXNzIjoiZXhwcmVzc2lvbiJ9XX0=*/\n_function_return(VAR_TEXT_FORMS[0])","internal_label_id":"","dat_precomputed":null,"search_precomputed":null,"code_precomputed":null,"parentid":593072591,"id":26548607,"donotexecuteduringrecord":false,"is_selected":false,"color":"","is_fold":false,"fd":""},{"name":"","code":"/*Dat:eyJzIjoicmV0dXJuIiwidiI6MSwiZiI6W10sInV3IjoiMCIsInV0IjoiMCIsInV0byI6IjAiLCJ1bSI6IjAiLCJkIjpbeyJpZCI6IlJldHVyblZhbHVlIiwidHlwZSI6ImNvbnN0ciIsImRhdGEiOiJbW1RFWFRfRk9STVNdXVsyXSIsImNsYXNzIjoiZXhwcmVzc2lvbiJ9XX0=*/\n_function_return(VAR_TEXT_FORMS[2])","internal_label_id":"","dat_precomputed":null,"search_precomputed":null,"code_precomputed":null,"parentid":0,"id":605283543,"donotexecuteduringrecord":false,"is_selected":false,"color":"","is_fold":false,"fd":""}]
-
@il16ya said in Как менять падежи слова в зависимости от числа?:
Я пытался реализовать функцию JavaScript но либо она неправильно построена либо я что-то не там поставил подскажите как правильнее будет реализовать эту функцию в BAS вот ссылка на функцию: https://realadmin.ru/coding/sklonenie-na-javascript.html вот коды моих попыток реализовать ее в BAS:
-
@Fox а можно посмотреть содержимое переменной DECLOFNUM?
-
@il16ya said in Как менять падежи слова в зависимости от числа?:
@Fox а можно посмотреть содержимое переменной DECLOFNUM?
Можно, только смысл? Используйте переменную с атрибутами, так как в ней функция
-
@Fox а почему у вас в логе не отображаются числа?
-
@il16ya said in Как менять падежи слова в зависимости от числа?:
@Fox а почему у вас в логе не отображаются числа?
Потому что так реализована функция в вашем примере по ссылке. Если нужно, можете добавить вывод цифры вместе с текстом
-
@il16ya А вообще можете использовать готовое действие "Склонять"
-
@Fox у меня число в переменной и я не знаю как аккуратно вставить ее в функцию чтобы не сломать ее
-
@il16ya said in Как менять падежи слова в зависимости от числа?:
@Fox у меня число в переменной и я не знаю как аккуратно вставить ее в функцию чтобы не сломать ее
А зачем её вообще вставлять в функцию? Поместите её в атрибут вызова функции
[[DECLOFNUM]]([[ВАША_ЦИФРА]], ['минута', 'минуты', 'минут'])
-
@Fox Понятно, спасибо
-
Вот что сложного написать мин.?