Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     25 Feb 2003  21:56:30
 To : Renat Araslanow
 Subject : Re: регистр букв
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Renat Araslanow.
 
 AC>>>> Правильный ответ:
 AC>>>> ==== 8< [test.pl] ====
 AC>>>> #!/usr/bin/perl -w
 AC>>>> use strict;
 AC>>>> use locale;
 AC>>>> my $s = "Слово";
 AC>>>> print "Capital" if uc substr($s,0,1) eq substr($s,0,1);
 S>>  ==== >>> 8 [test.pl] ====
 S>>> хинт ь3: если $s="", то выдаст "Capital":). Гы, странно что не substr на
 S>>> это дело не ругается:). Бейсик бы за такие дела очень сильно отшмонал:).
 
 AC>> А чем первая буква пустого слова не заглавная?
 
 RA> 1. не такого понятия - пустое слово.
 RA> 2. если даже и есть, то оно, согласно своему названию, не содержит букв.
 
 Hу да. Тебе осталось только чуть-чуть подучить логику, чтобы узнать, что на
 пустом множестве квантор всеобщности делает утверждение истинным. Любое.
 
 AC>> А чего сабстру на это ругаться?
 
 RA> помоему глупо:
 RA> програмер: выдайте часть строки длинной 1, начиная с 0 позиции из строки
 RA> ничего не содержащей.
 RA> substr: пожалуйста, без проблем. (и ехидно интерпретатору: какой вопрос -
 RA> такой ответ)
 
 Чего ж в этом глупого? Единственно - следует иначе интерпретировать это
 выражение. "выдайте часть строки длиной не более 1, начиная с 0 позиции". Ибо
 семантика substr именно такова. Это, естественно, упрощение - на самом деле
 оно куда более развесисто.
 
 AC>> Hу, пустая строка... Hа самом деле тут
 AC>> есть
 AC>> и другие засады -
 AC>> так, оно будет считать заглавной любую небукву (у нее uc равно ей самой).
 AC>> Логичнее было бы написать lc ... ne ..., но и тут могут быть грабли. Все
 AC>> зависит от допусков в задаче.
 
 RA> первая строчка квотинга, помоему, с этим твоим ответом не очень сопоставима.
 
 RA> помоему лучше так
 
 RA> use locale;
 RA> $_="Cлово";
 RA> print "Cap" if m/^[[:upper:]]/;
 
 Тоже вариант.
 
 -- 
 Artem Chuprina
 Communiware.net
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 регистр букв   Ruslan Sulemanov   24 Feb 2003 10:48:34 
 регистр букв   ilya voronin   24 Feb 2003 16:27:32 
 регистр букв   Renat Araslanow   25 Feb 2003 23:14:18 
 регистр букв   Sergey Ermakov   26 Feb 2003 00:00:26 
 Re: регистр букв   Ivan Frolcov   26 Feb 2003 04:22:13 
 регистр букв   Sergey Ermakov   27 Feb 2003 22:41:48 
 Re: регистр букв   Ivan Frolcov   28 Feb 2003 06:43:01 
 регистр букв   Renat Araslanow   28 Feb 2003 13:48:02 
 Re: регистр букв   John Lepikhin   28 Feb 2003 19:25:19 
 Re: регистр букв   Artem Chuprina   25 Feb 2003 01:12:46 
 Re: регистр букв   Serg   25 Feb 2003 16:31:07 
 Re: регистр букв   Artem Chuprina   25 Feb 2003 17:03:44 
 Re: регистр букв   Konstantin Stupnik   25 Feb 2003 18:29:05 
 Re: регистр букв   Artem Chuprina   25 Feb 2003 20:26:07 
 регистр букв   Renat Araslanow   25 Feb 2003 21:57:06 
 Re: регистр букв   Artem Chuprina   25 Feb 2003 21:56:30 
 регистр букв   Ruslan Sulemanov   25 Feb 2003 13:50:31 
 Re: регистр букв   Victor Wagner   25 Feb 2003 19:36:44 
Архивное /ru.perl/14454ca2bb37e.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional