Някой може ли да ми каже как да използвам gets() и print() функциите в VS code? Също така и как да използвам gets() в array?
Здравей,
за да можем да проверяваме решенията на задачи, които решавате сме добавили няколко допълнителни функции, който не са част от тези, които JavaScript езикът предоставя. Това са gets() и print().
Приемане на входни данни от конзолата
gets() - приема един ред, въведен в конзолата
Ако, например, имаме примерните входни данни:
apple orange pear kiwi
42
const line = gets();
const number = +gets();
След изпълнение line ще има стойност "apple orange pear kiwi", a number ще има стойност 42.
Извеждане на входни данни на конзолата
Вместо добре познатия console.log(), при изпълнение на кода в Learn системата, използваме print(). Функцията ще изведе на конзолата съобщението, което ѝ подадем.
Пример:
print(5);
print(Math.sqrt(4));
След изпълнение, на конзолата ще се изпечатат 5 и 2.
Разработване локално
Когато решаваш задача локално (например във Visual Studio Code) може да копираш и поставиш следния код в началото на всеки .js файл:
const getGets = (arr) => {
let index = 0;
return () => {
const toReturn = arr[index];
index += 1;
return toReturn;
};
};
// Test input
const testInput = [
'5',
'1 3',
'123 -3',
'4 -150',
];
const gets = this.gets || getGets(testInput ); // if the code is ran locally, use getGets. If it's ran in Learn, use gets
const print = this.print || console.log; // if the code is ran locally, use console.log. If it's ran in Learn, use print
Функцията getGets() служи да “предаде” testInput на програмата. Можеш да заменяш съдържанието на testInput с примерния вход на задачата, която решаваш. Последните два реда казват, че ако кода се изпълнява в Learn системата, за четене на входни данни да се използва функцията gets(), ако се изпълнява локално (когато я решаваш), да се използва getGets(). Същото важи и за print(). Ако кода се изпълнява в Learn, да се използва print(). Ако е локално, да се използва console.log().
Ето как би изглеждало примерно решение на задача, която приема масив от числа и намира сумата им. В условието, за примерени входни данни е даден масива [1, 2, 3, 4].
const getGets = (arr) => {
let index = 0;
return () => {
const toReturn = arr[index];
index += 1;
return toReturn;
};
};
// Here we put the example input so we can test the solution before submitting it
const testInput = [
'1, 2, 3, 4'
];
const gets = this.gets || getGets(testInput);
const print = this.print || console.log;
const numbers = gets(); // numbers is "1, 2, 3, 4"
const numbersSplit = numbers.split(", "); // we use .split() to produce an array from a string, so we get [1, 2, 3, 4]
let sum = 0;
for (const number of numbersSplit) {
sum += +number; // right now, number is a string so we use + in front of it to convert it to an actual number
}
print(sum);
Успех,
Тодор