URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 2966
[ Назад ]

Исходное сообщение
"выбор действия в зависимости от значения переменной"

Отправлено Purple , 26-Май-04 07:45 
Есть значение $perem,и если оно имеет значение в диапазозе (0..100), то значение $perem2=110; если $perem=(150..220), то $perem2=250, если ... и т.д. здесь несколько таких диапазонов.
С помощью чего можно такое организовать в перле?

Содержание

Сообщения в этом обсуждении
"выбор действия в зависимости от значения переменной"
Отправлено alchie , 26-Май-04 07:51 
>Есть значение $perem,и если оно имеет значение в диапазозе (0..100), то значение
>$perem2=110; если $perem=(150..220), то $perem2=250, если ... и т.д. здесь несколько
>таких диапазонов.
>С помощью чего можно такое организовать в перле?

if ($perem >= 0 && $perem <= 100) {
  $perem2=110;
} elsif ($perem >= 150 && $perem <= 220) {
  $perem2=250;
} elsif ($perem >= 250 && $perem <= 320) {
  $perem2=350;
}


"выбор действия в зависимости от значения переменной"
Отправлено Purple , 26-Май-04 08:27 
>>Есть значение $perem,и если оно имеет значение в диапазозе (0..100), то значение
>>$perem2=110; если $perem=(150..220), то $perem2=250, если ... и т.д. здесь несколько
>>таких диапазонов.
>>С помощью чего можно такое организовать в перле?
>
>if ($perem >= 0 && $perem <= 100) {
>  $perem2=110;
>} elsif ($perem >= 150 && $perem <= 220) {
>  $perem2=250;
>} elsif ($perem >= 250 && $perem <= 320) {
>  $perem2=350;
>}
Спасибо, аналога case в перле нет?



"выбор действия в зависимости от значения переменной"
Отправлено alchie , 26-Май-04 08:46 
>>>Есть значение $perem,и если оно имеет значение в диапазозе (0..100), то значение
>>>$perem2=110; если $perem=(150..220), то $perem2=250, если ... и т.д. здесь несколько
>>>таких диапазонов.
>>>С помощью чего можно такое организовать в перле?
>>
>>if ($perem >= 0 && $perem <= 100) {
>>  $perem2=110;
>>} elsif ($perem >= 150 && $perem <= 220) {
>>  $perem2=250;
>>} elsif ($perem >= 250 && $perem <= 320) {
>>  $perem2=350;
>>}
>Спасибо, аналога case в перле нет?

нормального нет
вот кусок из perldoc perlsyn

The BLOCK construct is particularly nice for doing case structures.

           SWITCH: {
               if (/^abc/) { $abc = 1; last SWITCH; }
               if (/^def/) { $def = 1; last SWITCH; }
               if (/^xyz/) { $xyz = 1; last SWITCH; }
               $nothing = 1;
           }

но имхо это более громоздкая конструкция



"выбор действия в зависимости от значения переменной"
Отправлено Purple , 26-Май-04 10:50 
>>>>Есть значение $perem,и если оно имеет значение в диапазозе (0..100), то значение
>>>>$perem2=110; если $perem=(150..220), то $perem2=250, если ... и т.д. здесь несколько
>>>>таких диапазонов.
>>>>С помощью чего можно такое организовать в перле?
>>>
>>>if ($perem >= 0 && $perem <= 100) {
>>>  $perem2=110;
>>>} elsif ($perem >= 150 && $perem <= 220) {
>>>  $perem2=250;
>>>} elsif ($perem >= 250 && $perem <= 320) {
>>>  $perem2=350;
>>>}
>>Спасибо, аналога case в перле нет?
>
>нормального нет
>вот кусок из perldoc perlsyn
>
> The BLOCK construct is particularly nice for doing case structures.
>
>           SWITCH:
>{
>            
>   if (/^abc/) { $abc = 1; last SWITCH;
>}
>            
>   if (/^def/) { $def = 1; last SWITCH;
>}
>            
>   if (/^xyz/) { $xyz = 1; last SWITCH;
>}
>            
>   $nothing = 1;
>           }
>
>
>но имхо это более громоздкая конструкция
Кому как.
Спасибо, искал case, нашел switch :)

"выбор действия в зависимости от значения переменной"
Отправлено alchie , 26-Май-04 10:54 
>>>>>Есть значение $perem,и если оно имеет значение в диапазозе (0..100), то значение
>>>>>$perem2=110; если $perem=(150..220), то $perem2=250, если ... и т.д. здесь несколько
>>>>>таких диапазонов.
>>>>>С помощью чего можно такое организовать в перле?
>>>>
>>>>if ($perem >= 0 && $perem <= 100) {
>>>>  $perem2=110;
>>>>} elsif ($perem >= 150 && $perem <= 220) {
>>>>  $perem2=250;
>>>>} elsif ($perem >= 250 && $perem <= 320) {
>>>>  $perem2=350;
>>>>}
>>>Спасибо, аналога case в перле нет?
>>
>>нормального нет
>>вот кусок из perldoc perlsyn
>>
>> The BLOCK construct is particularly nice for doing case structures.
>>
>>           SWITCH:
>>{
>>            
>>   if (/^abc/) { $abc = 1; last SWITCH;
>>}
>>            
>>   if (/^def/) { $def = 1; last SWITCH;
>>}
>>            
>>   if (/^xyz/) { $xyz = 1; last SWITCH;
>>}
>>            
>>   $nothing = 1;
>>           }
>>
>>
>>но имхо это более громоздкая конструкция
>Кому как.
>Спасибо, искал case, нашел switch :)

"SWITCH:" - это  всего лишь метка (label) (:


"выбор действия в зависимости от значения переменной"
Отправлено Purple , 26-Май-04 11:57 
>>>>>>Есть значение $perem,и если оно имеет значение в диапазозе (0..100), то значение
>>>>>>$perem2=110; если $perem=(150..220), то $perem2=250, если ... и т.д. здесь несколько
>>>>>>таких диапазонов.
>>>>>>С помощью чего можно такое организовать в перле?
>>>>>
>>>>>if ($perem >= 0 && $perem <= 100) {
>>>>>  $perem2=110;
>>>>>} elsif ($perem >= 150 && $perem <= 220) {
>>>>>  $perem2=250;
>>>>>} elsif ($perem >= 250 && $perem <= 320) {
>>>>>  $perem2=350;
>>>>>}
>>>>Спасибо, аналога case в перле нет?
>>>
>>>нормального нет
>>>вот кусок из perldoc perlsyn
>>>
>>> The BLOCK construct is particularly nice for doing case structures.
>>>
>>>           SWITCH:
>>>{
>>>            
>>>   if (/^abc/) { $abc = 1; last SWITCH;
>>>}
>>>            
>>>   if (/^def/) { $def = 1; last SWITCH;
>>>}
>>>            
>>>   if (/^xyz/) { $xyz = 1; last SWITCH;
>>>}
>>>            
>>>   $nothing = 1;
>>>           }
>>>
>>>
>>>но имхо это более громоздкая конструкция
>>Кому как.
>>Спасибо, искал case, нашел switch :)
>
>"SWITCH:" - это  всего лишь метка (label) (:
Поспешил-насмешил. Это я про себя.