Saya mencoba untuk belajar sendiri Perl dan saya telah berjuang... Tadi malam saya membuat program untuk menghitung rata-rata sekumpulan angka yang diberikan pengguna untuk mempelajari tentang daftar dan masukan pengguna jadi hari ini saya pikir saya akan melakukannya decoder Kode Morse untuk mempelajari tentang Hash. Saya telah membaca buku yang saya beli dan buku itu tidak menjelaskan hash dengan baik... sebenarnya tidak menjelaskan banyak hal dengan baik. Bantuan apa pun akan dihargai!
Bagaimanapun, saya ingin menulis sebuah program yang menerjemahkan kode morse yang dimasukkan pengguna. Jadi pengguna akan memasukkan:
-.-.
.-
-
...
!
.-.
..-
.-..
.
Tanda seru menandakan kata yang terpisah. Pesan ini akan mengembalikan "Aturan Kucing" kepada pengguna. Di bawah ini adalah kode yang saya miliki sejauh ini... Ingat.. Saya telah memprogram di Perl kurang dari 24 jam haha.
Kode:
use 5.010;
my %morsecode=(
'.-' =>'A', '-...' =>'B', '-.-.' =>'C', '-..' =>'D',
'.' =>'E', '..-.' =>'F', '--.' =>'G', '....' =>'H',
'..' =>'I', '.---' =>'J', '-.-' =>'K', '.-..' =>'L',
'--' =>'M', '-.' =>'N', '---' =>'O', '.--.' =>'P',
'--.-' =>'Q', '.-.' =>'R', '...' =>'S', '-' =>'T',
'..-' =>'U', '...-' =>'V', '.--' =>'W', '-..-' =>'X',
'-.--' =>'Y', '--..' =>'Z', '.----' =>'1', '..---' =>'2',
'...--' =>'3', '....-' =>'4', '.....' =>'5', '-....' =>'6',
'--...' =>'7', '---..' =>'8', '----.' =>'9', '-----' =>'0',
'.-.-.-'=>'.', '--..--'=>',', '---...'=>':', '..--..'=>'?',
'.----.'=>'\'', '-...-' =>'-', '-..-.' =>'/', '.-..-.'=>'\"'
);
my @k = keys %morsecode;
my @v = values %morsecode;
say "Enter a message in morse code separated by a line. Use the exclamation point (!) to separate words. Hit Control+D to signal the end of input.";
my @message = <STDIN>;
chomp @message;
my $decodedMessage = encode(@message);
sub encode {
foreach @_ {
if (@_ == @k) {
return @k;
#This is where I am confused... I am going to have to add the values to an array, but I don't really know how to go about it.
}
else if(@_ == '!') {return ' '}
else
{
return 'Input is not valid';
}
}
}
use warnings;
danuse strict;
di semua kode Anda untuk membantu menemukan kesalahan. - person Craig Treptow   schedule 26.01.2013use strict;
danuse warnings;
di bagian atas skrip Anda. Mereka membantu, meskipun Anda mungkin tidak akan menyukainya pada awalnya. Omong-omong, pilihan proyek pertama yang layak untuk mempelajari tentang hash. - person William   schedule 26.01.2013@k
dan@v
tidak ada gunanya. Sub Anda juga harus diberi namadecode
bukanencode
. - person Brad Gilbert   schedule 26.01.2013