Я ищу помощь в том, как перемещаться по массиву. У меня есть исходный код, который принимает число радиуса круга и создает его окружность. Это занимает только одно число, и я хотел бы получить несколько окружностей.Perl Circle Array Function
#!/usr/bin/env perl
use warnings;
$pi = 3.141592654;
print "What's the radius? ";
chomp($radius = <STDIN>);
$circle = 2 * $pi * $radius;
if ($radius < 0) {
$circle = 0;
}
print "The circumference of a circle with the radius of $radius is $circle.\n";
Теперь я хочу иметь возможность вводить несколько чисел для нескольких радиусов, используя цикл while, чтобы поместить их в массив. Когда я вхожу в 0 или число меньше 0, цикл while будет завершен, и программа будет продолжена путем прокрутки массива введенных пользователем чисел и вычисления окружности каждого круга с использованием этих значений в виде радиусов.
У меня есть код, который пытается это сделать, но я не могу заставить его работать.
@number = <STDIN>;
while(<>) {
print "whats the radius? ";
my($circle, $radius, $pi);
$radius = &rad(<STDIN>);
$pi = 3.141592654;
$circle = 2 * $pi * $radius;
if ($radius <= 0){
return $circle; }
}
Любое направление, куда идти, или простое решение было бы очень полезно.
Добро пожаловать в StackOverflow и в тег [perl]! Если вы изучаете Perl прямо сейчас, похоже, что вы используете устаревший источник. Пожалуйста, ознакомьтесь с учебниками, связанными в [perl tag wiki] (http://stackoverflow.com/tags/perl/info) и улучшившись, добавив 'use strict;' и 'use warnings;' в начало каждой программы, которую вы написать. Они помогут вам обнаружить ошибки раньше. – simbabque
Также обратите внимание, что вашей второй программе не хватает ';' после первой строки. – simbabque