Код:
return state.message3 unless state.message3.empty?
end
return ""
end
end
#Склонение имён по падежам.
#Исправление от 09.03.24
def pad(actor, p)
if (actor.length <= 2)
return actor
end
if p == "V"
local = {
# 2 буквы. Последняя А
# Последняя А
"ба" => "у", "ва" => "у", "га" => "у", "да" => "у", "жа" => "у",
"за" => "у", "ка" => "у", "ла" => "у", "ма" => "у", "на" => "у",
"па" => "у", "ра" => "у", "са" => "у", "та" => "у", "фа" => "у",
"ха" => "у", "ца" => "у", "ча" => "у", "ша" => "у", "ща" => "у",
# ёк, ок
"ёк" => "ька", "ок" => "ка",
# 1 буква
"б" => "а", "в" => "а", "г" => "а", "д" => "а", "ж" => "а", "з" => "а",
"й" => "я", "к" => "а", "л" => "а", "м" => "а", "н" => "а", "п" => "а",
"р" => "а", "с" => "а", "т" => "а", "ф" => "а", "х" => "а", "ц" => "а",
"ч" => "а", "ш" => "а", "щ" => "а", "я" => "ю"}
elsif p == "D"
local = {
# 2 буквы. Последняя А
# Последняя А
"ба" => "е", "ва" => "е", "га" => "е", "да" => "е", "жа" => "е",
"за" => "е", "ка" => "е", "ла" => "е", "ма" => "е", "на" => "е",
"па" => "е", "ра" => "е", "са" => "е", "та" => "е", "фа" => "е",
"ха" => "е", "ца" => "е", "ча" => "е", "ша" => "е", "ща" => "е",
# ёк, ок
"ёк" => "ьку", "ок" => "ку",
# 1 буква
"б" => "у", "в" => "у", "г" => "у", "д" => "у", "ж" => "у", "з" => "у",
"й" => "ю", "к" => "у", "л" => "у", "м" => "у", "н" => "у", "п" => "у",
"р" => "у", "с" => "у", "т" => "у", "ф" => "у", "х" => "у", "ц" => "у",
"ч" => "у", "ш" => "у", "щ" => "у", "я" => "е"}
elsif p == "R"
local = {
# 2 буквы. Последняя А
# Последняя А
"ба" => "ы", "ва" => "ы", "га" => "и", "да" => "ы", "жа" => "и",
"за" => "ы", "ка" => "и", "ла" => "ы", "ма" => "ы", "на" => "ы",
"па" => "ы", "ра" => "ы", "са" => "ы", "та" => "ы", "фа" => "ы",
"ха" => "и", "ца" => "ы", "ча" => "и", "ша" => "и", "ща" => "и",
# ёк, ок
"ёк" => "ька", "ок" => "ка",
# 1 буква
"б" => "а", "в" => "а", "г" => "а", "д" => "а", "ж" => "а", "з" => "а",
"й" => "я", "к" => "а", "л" => "а", "м" => "а", "н" => "а", "п" => "а",
"р" => "а", "с" => "а", "т" => "а", "ф" => "а", "х" => "а", "ц" => "а",
"ч" => "а", "ш" => "а", "щ" => "а", "я" => "и"}
elsif p == "T"
local = {
# 2 буквы. Последняя А
# Последняя А
"ба" => "ой", "ва" => "ой", "га" => "ой", "да" => "ой", "жа" => "ей",
"за" => "ой", "ка" => "ой", "ла" => "ой", "ма" => "ой", "на" => "ой",
"па" => "ой", "ра" => "ой", "са" => "ой", "та" => "ой", "фа" => "ой",
"ха" => "ой", "ца" => "ей", "ча" => "ей", "ша" => "ей", "ща" => "ей",
# ёк, ок
"ёк" => "ьком", "ок" => "ком",
# 1 буква
"б" => "ом", "в" => "ом", "г" => "ом", "д" => "ом", "ж" => "ом", "з" => "ом",
"й" => "ем", "к" => "ом", "л" => "ом", "м" => "ом", "н" => "ом", "п" => "ом",
"р" => "ом", "с" => "ом", "т" => "ом", "ф" => "ом", "х" => "ом", "ц" => "ем",
"ч" => "ом", "ш" => "ом", "щ" => "ом", "я" => "ей"}
elsif p == "P"
local = {
# 2 буквы. Последняя А
# Последняя А
"ба" => "е", "ва" => "е", "га" => "е", "да" => "е", "жа" => "е",
"за" => "е", "ка" => "е", "ла" => "е", "ма" => "е", "на" => "е",
"па" => "е", "ра" => "е", "са" => "е", "та" => "е", "фа" => "е",
"ха" => "е", "ца" => "е", "ча" => "е", "ша" => "е", "ща" => "е",
# ёк, ок
"ёк" => "ьке", "ок" => "ке",
# 1 буква
"б" => "е", "в" => "е", "г" => "е", "д" => "е", "ж" => "е", "з" => "е",
"й" => "е", "к" => "е", "л" => "е", "м" => "е", "н" => "е", "п" => "е",
"р" => "е", "с" => "е", "т" => "е", "ф" => "е", "х" => "е", "ц" => "е",
"ч" => "е", "ш" => "е", "щ" => "е", "я" => "е"}
else
return actor
end
if ((local.include?(actor.slice(actor.length-2,2)) == false) &&
(local.include?(actor.slice(actor.length-1,1)) == false))
return actor
end
if (actor.slice(actor.length-2,2) == "ок" ||
actor.slice(actor.length-2,2) == "ёк" )
return actor.slice(0,actor.length-2) + local[actor.slice(actor.length-2,2)]
elsif (actor.slice(actor.length-1,1) == "й" ||
actor.slice(actor.length-1,1) == "я")
return actor.slice(0,actor.length-1) + local[actor.slice(actor.length-1,1)]
elsif (actor.slice(actor.length-1,1) != "а" &&
actor.slice(actor.length-1,1) != "о" &&
actor.slice(actor.length-1,1) != "ь" &&
actor.slice(actor.length-1,1) != "ъ" &&
actor.slice(actor.length-1,1) != "э" &&
actor.slice(actor.length-1,1) != "ю" &&
actor.slice(actor.length-1,1) != "ё")
return actor + local[actor.slice(actor.length-1,1)]
else
return actor.slice(0,actor.length-1) + local[actor.slice(actor.length-2,2)]
end
end
Социальные закладки