2011年12月14日 星期三

迴圈控制敘述(Loop Control Statements)

迴圈控制敘述(Loop Control Statements)

我們知道迴圈可以幫助程式,「反覆進行」同一個區塊內的運算,

但有時候我們會希望,迴圈能「跳過」某次運算,或是「轉向」其他程式區塊。

這個「跳過」或「轉向」的操作,就是這篇迴圈控制要說明的部分了。

靈活的迴圈控制能節省程式執行時間,

但必須謹慎的使用,避免程式結構被破壞而導致維護上的困難。

之前提過的forforeachwhileuntil

我們在控制敘述的重複執行有說明,

在這裡我們就討論,怎麼在這幾個迴圈內做操作吧!


last

顧名思義就是讓迴圈停止。

用法是寫在迴圈內,我們來用例子說明:

for ($i=0;$i<10;$i++)

{ # $i會先從0開始 每跑完一次就會累加1

if($i==8) # 當$i為8時

{

last; # 終止迴圈

}

print $i; # 把$i印出來

}

執行結果就會看到 只印到7就不執行了。

如果要偷懶點的寫法,可以寫成:

for ($i=0;$i<10;$i++)

{ # $i會先從0開始 每跑完一次就會累加1

last if($i==8); # 當$i為8時終止

print $i; # 把$i印出來

}

執行結果會是相同的。


redo

可以讓迴圈重複執行一次,

用法同樣是寫在迴圈內,來看例子:

$count=0; # 迴圈外放一個計數器

for ($i=0;$i<10;$i++)

{ # $i會先從0開始 每跑完一次就會累加1

$count++;

redo if($count==8); # 當$count為8時重作"一次"迴圈

print $count; # 把$count印出來

}

執行結果就會看到,8多加了一次,結果就是8沒有印出來。


next

既然可以讓迴圈停止、重作,

當然,一樣就有「略過」的控制敘述,

用法同樣是寫在迴圈內,來看例子:

for ($i=0;$i<10;$i++)

{ # $i會先從0開始 每跑完一次就會累加1

next if($i==8); # 當$i為8時略過

print $i; # 把$i印出來

}

執行結果就會看到,8沒有被印出來。


知道了迴圈的「終止」、「重作」、「略過」之後,

最後一個我們要看的,是用來做「轉向」的標籤(Label)

標籤的作用是讓Perl知道接下來要跳到哪裡去,

很多程式設計師很反對使用標籤,因為會對程式架構上,有一定程度的破壞。

不過阿逸自己則是認為,適時的使用反而會增加方便性。

有時候單單利用nextlast無法逃離迴圈到正確的地方時,

就會使用到標籤(Label)。標籤使用方式為:

1.定義標籤所在位置及名稱,要大寫,並且要有冒號(:)。

2.使用時,加上goto 以及標籤名稱。

直接來看怎麼用吧:

@array= qw/123 456 789 246 468 135 357/; # 依序放入陣列

$pattern= 456; # 用來比對的樣式

foreach (@array)

{

print $_; # 印出每次讀取的陣列內容

if ($pattern== $_) # 比對成功時

{

goto LABEL; # 轉向到標籤點

}

}

LABEL: # 記住 這裡是使用冒號(:) 表示標籤的定位點

執行結果就會看到,符合條件後,程式就跳到迴圈外的標籤。


接下來就要加入一些檔案處理的觀念了,

要進行的部分是Perl的檔案存取

2011年12月8日 星期四

我的作品練習 - Perl/tk 線上查價軟體

首先簡介一下Tk是什麼。
Tk是一個GUI 函式庫,你可以用它來為你的程式,
加上圖形化的使用者介面(Graphical User Interface)。
Tk可以與眾多語言配合使用,例如 tcl, perl, ruby, python, java, c, c++, ...
因此而有了 tcl/tk, python/tk, perl/tk, ...
而這裡所使用的就是我自己使用perl/tk的實作展示。

很抱歉的是,暫時不公開程式碼,
因為有其他用途,所以先講講這程式功能吧!

程式說明:
功能為查詢兩個線上購物網站(Yahoo、momo),並將查詢結果回傳,
回傳內容同時包含圖片以及售價,
如果遇到查詢無結果時,會給予符合筆數為0並顯示Not Found圖片。

輸入想要查詢的東西 (目前以3C產品為主)
按下底下的按鈕”開始找東西啦!!!” 便會回傳查詢結果:
而如果出現無查詢結果時,會顯示Not Found圖示:

台灣樂團五月天作品節奏遊戲 - NOK!MAYDAY (iPhone)

現存很多節奏遊戲,多半都是由國外寫的,

歌曲也都以外國歌曲為主。

現在,台灣有也一款,由台灣樂團五月天作品為主的節奏遊戲,

阿逸本身是五月天的歌迷,

所以就私心介紹一下這款遊戲吧!


目前這款遊戲有兩個版本

試玩版本: NOK!MAYDAY Lite

正式版本: NOK!MAYDAY($1.99)

語言:繁體中文

以下是試玩版本 NOK!MAYDAY Lite 介紹


一開始的畫面為相信音樂公司Logo

接著會秀出 - 五月天追夢3DNA電影宣傳照

在這個電影宣傳照片 有兩個操作方式

1. 直接點選圖片可以進入遊戲

操作方式同一般的節奏遊戲,試幾次就會輕易上手。














2. 如果點選右下角的選單圖示(如圖)

會進入另一個選單畫面。

可以直接看到:

五月天的行程表

在某些特定的日期上會標記圓點

表示有公開的行程

如圖中顯示的2011年12月23日「諾亞方舟」演唱會。


五月天官方網頁的最新公告


五月天FB官方粉絲團

可以直接瀏覽官方FB動態消息


相信音樂FB官方粉絲團

同樣可以直接瀏覽官方FB動態消息


※阿逸是拿測試版來介紹

友人有下載完整版,正式版跟試玩版都只有兩首歌,

兩版本目前差異僅歌曲長度不同,但正式版要$1.99。

由於這款節奏iAPP才剛完成上線(2011年11月28日),

所以歌曲不多,以後應該會再加入更多新歌,

至於要不要付錢買正式版,阿逸目前仍在觀望中。