Mastering Perl for Bioinformatics [Electronic resources] نسخه متنی

اینجــــا یک کتابخانه دیجیتالی است

با بیش از 100000 منبع الکترونیکی رایگان به زبان فارسی ، عربی و انگلیسی

Mastering Perl for Bioinformatics [Electronic resources] - نسخه متنی

| نمايش فراداده ، افزودن یک نقد و بررسی
افزودن به کتابخانه شخصی
ارسال به دوستان
جستجو در متن کتاب
بیشتر
تنظیمات قلم

فونت

اندازه قلم

+ - پیش فرض

حالت نمایش

روز نیمروز شب
جستجو در لغت نامه
بیشتر
لیست موضوعات
توضیحات
افزودن یادداشت جدید










3.15 Exercises


Exercise 3.1



Write brief descriptions of the main features of declarative
programming, OO programming, logic programming, and functional
programming. (See Section 3.14.)


Exercise 3.2



Give an example of a programming job that would be better with OO
programming than with declarative programming.


Exercise 3.3



Give an example of a programming job that would be better with
declarative programming than with OO programming.


Exercise 3.4



What bioinformatics problem might be best addressed with logic
programming?


Exercise 3.5



Download and use a Perl class from CPAN.


Exercise 3.6



Write a Perl class that manages laboratory supplies.


Exercise 3.7



When would you want a separate initialization method for a class;
when would you want the initialization to be part of the
new constructor?


Exercise 3.8



Modify Gene.pm to keep count of how many objects
refer to given organisms, chromosomes, authors, pdb references, and
names.


Exercise 3.9



Add a DESTROY method to a class so an object can
self-destruct.


Exercise 3.10



Beginning in the code for Gene3.pm
you'll find the following regular expression:

    if($AUTOLOAD =~ /.*(_\w+)/) {
$attribute = $1;

This only catches the last part of a name that has an underscore.
What if you want to allow names such as
get_other_var? Write a regular expression that
would extract such names as other_var from
get_other_var.


Exercise 3.11



In the code for Gene2.pm you'll
find the following regular mutator method:

sub set_name {
my ($self, $name) = @_;
$self->{_name} = $name if $name;
}

This breaks if $name has certain values such as
", 0, or 0E0. How can you catch
these cases?




/ 156