Някой може ли да ми каже как да използвам 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);
Успех,
Тодор