Re: [問題] 輸入範圍印出所屬這範圍的字(新手^^|||)
※ 引述《gohit (天哪..單場三轟..@o@)》之銘言:
: 對不起我是新手....真的我不知道該怎麼辦....請高手幫幫忙...^^||| 謝謝
: 有一份資料是這樣:
: 2 a
: 5 b
: 9 c
: 12 d
: 18 e
: 56 f
: 67 g
: 88 h
: 現在我打算輸入一個數字的範圍,我希望程式能夠印出藉於這範圍的文字,
: 如:5 =< $X <= 50 ,印出: b,c,d,e
: 請問該怎麼辦呢?
: 目前只知道數字範圍的寫法:if....elsif 等語法
: 謝謝 ^^|||
推文說用 hash,不過 hash 不能直接取 range,要一些功夫:
%myhash = (2 => 'a', '5' => 'b', ... 中間省略... , 88 => 'h');
@range_key_10_50 = grep {10 <= $_ && $_ <= 50} keys %myhash;
不過這個方法在量很大的時候 performance 應該不會好,可以考慮 Tree 這個
module:
http://search.cpan.org/dist/Tree/
http://search.cpan.org/dist/Tree/Base.pm
不過 insert/delete 的速度沒有 hash 快,你要自己考量實際的情況...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.54.119
推
01/01 20:26, , 1F
01/01 20:26, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):