Изменение словаря во время итерации по нему
▪️Вообще говоря не стоит изменять словарь, по которому происходит итерация
▪️Эта штука срабатывает только восемь раз, ведь именно это та точка, в которой словарь должен был бы изменить размер, чтобы удержать больше ключей (стандартно есть только восемь записей, поэтому меняйте размер, если нужно). Это фактическая деталь реализации.
Подписывайтесь на канал 👉@coddy_academy
▪️Вообще говоря не стоит изменять словарь, по которому происходит итерация
▪️Эта штука срабатывает только восемь раз, ведь именно это та точка, в которой словарь должен был бы изменить размер, чтобы удержать больше ключей (стандартно есть только восемь записей, поэтому меняйте размер, если нужно). Это фактическая деталь реализации.
Подписывайтесь на канал 👉@coddy_academy
👍1
Конструктор класса
Классы могут иметь метод constructor. Это специальный метод, который вызывается при создании объекта. Методы конструктора обычно используются, чтобы установить начальные значения для объекта.
#javanoscript
Подписывайтесь на канал 👉@coddy_academy
Классы могут иметь метод constructor. Это специальный метод, который вызывается при создании объекта. Методы конструктора обычно используются, чтобы установить начальные значения для объекта.
#javanoscript
Подписывайтесь на канал 👉@coddy_academy
Типы значений словаря
Python позволяет значениям в словаре быть любого типа – строка, целое число, список, другой словарь и т.д. При этом ключи всегда должны быть неизменяемым типом данных, таким как строки, числа.
#python
Подписывайтесь на канал 👉@coddy_academy
Python позволяет значениям в словаре быть любого типа – строка, целое число, список, другой словарь и т.д. При этом ключи всегда должны быть неизменяемым типом данных, таким как строки, числа.
#python
Подписывайтесь на канал 👉@coddy_academy
👍1
Как добавить градиент на текст в css?
Подписывайтесь на канал 👉@coddy_academy
<head>
<style>
p {
font-size: 30px;
background: linear-gradient(45deg, #eb7f26 10%, #80ac19 20%, #e70d94 30%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
text-transform: uppercase;
}
</style>
</head>
<body>
<p>Градиент текста в CSS</p>
</body>
#css
Подписывайтесь на канал 👉@coddy_academy
👍2👎1
Назначение переменных и функций по условию
Иногда элементы с условиями очень просты — в этих случаях лучше использовать тернарный оператор if/else:
В этом примере
Ещё интереснее применение тернарного оператора в отношении функций.
#python
Подписывайтесь на канал 👉@coddy_academy
Иногда элементы с условиями очень просты — в этих случаях лучше использовать тернарный оператор if/else:
X = 2 if Y else 3В этом примере
X присвоится 2, если Y будет истинно, иначе присвоится 3.Ещё интереснее применение тернарного оператора в отношении функций.
#python
Подписывайтесь на канал 👉@coddy_academy
👍1
Как убрать лишние пробелы из строки в javanoscript?
Как вариант использовать регулярные выражения, пример:
Второй вариант это разбить на массив по пробелы и потом соединить строку снова:
#javanoscript
Подписывайтесь на канал 👉@coddy_academy
Как вариант использовать регулярные выражения, пример:
var stringTest = " I am Test String ";
// IamTestString
console.log(stringTest.replace(/\s+/g, ''));Второй вариант это разбить на массив по пробелы и потом соединить строку снова:
var stringTest = " I am Test String ";
// IamTestString
console.log(stringTest.split(' ').join(''));#javanoscript
Подписывайтесь на канал 👉@coddy_academy
👍3
Как вернуть два значения из метода в java?
Вы можете возвращать массив значений из метода.
#java
Подписывайтесь на канал 👉@coddy_academy
Вы можете возвращать массив значений из метода.
class Main {
public static int[] get_summ_and_diff(int x, int y){
int summ = x + y;
int diff = x - y;
return new int[]{summ, diff};
}
public static void main(String[] args) throws Exception {
int[] diff_and_summ = get_summ_and_diff(10, 5);
System.out.println(diff_and_summ[0]);
System.out.println(diff_and_summ[1]);
// Вывод :
// 15
// 5
}
}
#java
Подписывайтесь на канал 👉@coddy_academy
👍2👎1
grid-row-start и grid-row-end
grid-row-start и grid-row-end свойства позволяют отдельным элементам сетки занимать несколько строк. Свойство
#css
Подписывайтесь на канал 👉@coddy_academy
grid-row-start и grid-row-end свойства позволяют отдельным элементам сетки занимать несколько строк. Свойство
grid-row-start определяет, с какой строки начинается элемент, а grid-row-end определяет, сколько строк занимает элемент или на какой строке заканчивается.#css
Подписывайтесь на канал 👉@coddy_academy
👍2
Handlebar.compile()
#javanoscript
Подписывайтесь на канал 👉@coddy_academy
Handlebar.compile() может использоваться для создания функции шаблона. Строка шаблона с выражениями должна быть передана в Handlebar.compile(). Затем эта функция принимает объект в качестве аргумента, интерполирует значения объекта в выражения шаблона и возвращает завершенную строку HTML.#javanoscript
Подписывайтесь на канал 👉@coddy_academy
👍2
Как конвертировать string в int на java?
Вы можете использовать метод parseInt класса Integer - Integer.parseInt(string_number)
#java
Подписывайтесь на канал 👉@coddy_academy
Вы можете использовать метод parseInt класса Integer - Integer.parseInt(string_number)
class Main {
public static void main(String[] args) throws Exception {
String string_number = "982737";
int int_number = Integer.parseInt(string_number);
System.out.println(int_number); // Вывод : 982737
}
}
#java
Подписывайтесь на канал 👉@coddy_academy
👍3
Как сделать выход из цикла while в C++?
Вы можете использовать
#cpp
Подписывайтесь на канал 👉@coddy_academy
Вы можете использовать
break чтобы сделать выход из цикла while в C++, небольшой пример кода на скрине:#cpp
Подписывайтесь на канал 👉@coddy_academy
👍1
Что такое discardableResult и как использовать этот атрибут?
Во время написания функций или методов в Swift мы в некоторых случаях хотим игнорировать возвращаемое значение, а в других – все же иметь возможность обработать его. Если попытаться вызвать метод, который возвращает значение, и никак его не обработать, получим предупреждение "Result of call to 'foo()' is unused".
Атрибут discardableResult позволяет убрать данное предупреждение. В случае правильного использования эта небольшая функция (о которой, тем не менее, стоит знать) улучшит чистоту вашего кода и позволит вам не использовать нижнее подчеркивание, чтобы игнорировать результат.
Перед написанием каждого метода хорошо подумайте, важно ли обрабатывать возвращаемое значение. В некоторых случаях лучше будет всё-таки заставить пользователя вашего метода хендлить его. Например, если есть необходимость сообщить важную информацию (о возникшей ошибке и пр.).
#swift
Подписывайтесь на канал 👉@coddy_academy
Во время написания функций или методов в Swift мы в некоторых случаях хотим игнорировать возвращаемое значение, а в других – все же иметь возможность обработать его. Если попытаться вызвать метод, который возвращает значение, и никак его не обработать, получим предупреждение "Result of call to 'foo()' is unused".
Атрибут discardableResult позволяет убрать данное предупреждение. В случае правильного использования эта небольшая функция (о которой, тем не менее, стоит знать) улучшит чистоту вашего кода и позволит вам не использовать нижнее подчеркивание, чтобы игнорировать результат.
Перед написанием каждого метода хорошо подумайте, важно ли обрабатывать возвращаемое значение. В некоторых случаях лучше будет всё-таки заставить пользователя вашего метода хендлить его. Например, если есть необходимость сообщить важную информацию (о возникшей ошибке и пр.).
#swift
Подписывайтесь на канал 👉@coddy_academy
👍1
Метод get() для словаря
Python предоставляет метод
#python
Подписывайтесь на канал 👉@coddy_academy
Python предоставляет метод
.get() для доступа к значению словаря, если оно существует. Этот метод принимает key в качестве первого аргумента и необязательное значение по умолчанию в качестве второго аргумента, возвращает значение для указанного key, если key есть в словаре. Если второй аргумент не указан и key не найден, то возвращается None.#python
Подписывайтесь на канал 👉@coddy_academy
👍1
Что такое параметры inout?
Когда мы передаем value типы в качестве аргументов в функцию, они статичны – менять их нельзя. Было бы удобно иметь возможность модифицировать данные значения. К счастью, у Swift для этого есть решение: ключевое слово inout, которое используется перед типом параметра в связке с '&' перед аргументом. Это позволит нам модифицировать значение внутри функции.
На самом деле, мы не модифицируем значением напрямую. Такое поведение называется "copy-in copy-out" или же "call by value result" и работает следующим образом:
1. Когда мы вызываем функцию, значение аргумента копируется.
2. Дальше внутри функции копия модифицируется.
3. По возращению функции Swift присваивает модифицированное значение оригинальному аргументу.
Параметры inout встречаются чаще, чем вам может показаться на первый взгляд. Например, оператор += использует inout для изменения строки, когда вы хотите добавить одну строку к другой.
#swift
Подписывайтесь на канал 👉@coddy_academy
Когда мы передаем value типы в качестве аргументов в функцию, они статичны – менять их нельзя. Было бы удобно иметь возможность модифицировать данные значения. К счастью, у Swift для этого есть решение: ключевое слово inout, которое используется перед типом параметра в связке с '&' перед аргументом. Это позволит нам модифицировать значение внутри функции.
На самом деле, мы не модифицируем значением напрямую. Такое поведение называется "copy-in copy-out" или же "call by value result" и работает следующим образом:
1. Когда мы вызываем функцию, значение аргумента копируется.
2. Дальше внутри функции копия модифицируется.
3. По возращению функции Swift присваивает модифицированное значение оригинальному аргументу.
Параметры inout встречаются чаще, чем вам может показаться на первый взгляд. Например, оператор += использует inout для изменения строки, когда вы хотите добавить одну строку к другой.
#swift
Подписывайтесь на канал 👉@coddy_academy
👍1
Handlebars выражение {{else}}
Handlebars выражение
#javanoscript
Подписывайтесь на канал 👉@coddy_academy
Handlebars выражение
{{else}} можно вставить в помощник блока {{if}}. Содержимое шаблона внутри секции else вступает в силу, когда предыдущие условия ложные.#javanoscript
Подписывайтесь на канал 👉@coddy_academy
👍2
Как удалить директорию в java?
Вы можете использовать File.delete() для удаления директории.
#java
Подписывайтесь на канал 👉@coddy_academy
Вы можете использовать File.delete() для удаления директории.
import java.io.File;
class Main {
public static void main(String[] args) throws Exception {
File file = new File("delete_folder");
if (file.delete()){
System.out.println("Директория успешно удалена");
}
}
}
#java
Подписывайтесь на канал 👉@coddy_academy
👍1
Как декодировать property list используя Decodable?
Property list, обычно сокращенно plist, представляет собой XML-файл, содержащий данные в формате "ключ-значение". Вы можете использовать его в своих приложениях для iOS в качестве простого хранилища данных. Эта функция-утилита позволит вам задекодить данные в нужный удобный вам тип, используя Decodable.
#swift
Подписывайтесь на канал 👉@coddy_academy
Property list, обычно сокращенно plist, представляет собой XML-файл, содержащий данные в формате "ключ-значение". Вы можете использовать его в своих приложениях для iOS в качестве простого хранилища данных. Эта функция-утилита позволит вам задекодить данные в нужный удобный вам тип, используя Decodable.
extension Bundle {
func decodePlist<T: Decodable>(_ filename: String, to entity: T.Type) -> T? {
guard
let path = Bundle.main.path(forResource: filename, ofType: "plist"),
let xml = FileManager.default.contents(atPath: path),
let content = try? PropertyListDecoder().decode(T.self, from: xml)
else { return nil }
return content
}
}
#swift
Подписывайтесь на канал 👉@coddy_academy
👍1
Сортировка словаря по значениям
Распространена практика использования словарей в качестве таблиц для хранения данных. Сортировка данных словаря по значениям ключей, а не самим ключам, нередко ставит в тупик. Задача решается довольно просто при помощи соответствующего аргумента функции сортировки
#python
Подписывайтесь на канал 👉@coddy_academy
Распространена практика использования словарей в качестве таблиц для хранения данных. Сортировка данных словаря по значениям ключей, а не самим ключам, нередко ставит в тупик. Задача решается довольно просто при помощи соответствующего аргумента функции сортировки
#python
Подписывайтесь на канал 👉@coddy_academy
👍1
Свойство .count
Свойство
#swift
Подписывайтесь на канал 👉@coddy_academy
Свойство
.count возвращает целое число, представляющее количество пар ключ-значение в словаре.#swift
Подписывайтесь на канал 👉@coddy_academy
Парсинг JSON файлов в словарь
Формат JSON используется для хранения пар ключ-значение. Python json модуль позволяет считывать такой формат данных и парсить его в словарь. Функция
#python
Подписывайтесь на канал 👉@coddy_academy
Формат JSON используется для хранения пар ключ-значение. Python json модуль позволяет считывать такой формат данных и парсить его в словарь. Функция
json.load принимает файловый объект в качестве аргумента и возвращает данные в формате словаря.#python
Подписывайтесь на канал 👉@coddy_academy
👍2
Как проверить содержится ли элемент в массиве на java?
Вы можете использовать условие и цикл для проверки существования элемента в массиве.
#java
Подписывайтесь на канал 👉@coddy_academy
Вы можете использовать условие и цикл для проверки существования элемента в массиве.
class Main {
public static void main(String[] args) throws Exception {
int[] firstArray = new int[]{52, 21, 94, 29, 91};
int[] secondArray = new int[]{82, 74, 51, 39, 23};
int element = 21;
for (int i = 0; i < firstArray.length; i++) {
if (firstArray[i] == element){
System.out.println(element + " in first array");
}
}
for (int i = 0; i < secondArray.length; i++) {
if (secondArray[i] == element){
System.out.println(element + " in second array");
}
}
// Вывод : 21 in first array
}
}
#java
Подписывайтесь на канал 👉@coddy_academy
👍1👎1