NotOnlyCode / NOC

關於部落格
an open platform for discussing about the generative design on Rhinoceros
  • 4972

    累積人氣

  • 0

    今日人氣

    0

    訂閱人氣

05=Introduction to RhinoScript (Textflie Layout)

        在進入其他VB語言與RhinoScript的說明之前,先提示一點輕鬆但是卻重要的提醒。由於其實寫程式就跟做設計很類似,設計者如果沒有良好的檔案管理方法,經常會圖紙亂丟又亂塞,等到某天想要用時卻找不到,就算找到了也忘記這張圖到底是何時完成的,或者忘了最後的版本是誰修正的。當我們程式越寫越多時也會面臨到上述的情形,因此,保持良好的工作習慣以及建立正確的檔案管理統對日後不僅有莫大的幫助也是不可或缺的必備功課。
       另一方面, 一個程式除了要讓電腦讀得懂之外,常常也要讓朋友或者是其他使用者能夠閱讀,於是乎,有一些共通的標註方式,就變成不同使用者要讀懂程式的重要媒介。一般來說,一個較為完整的VBScript會由四個部分所組成:(1) Option Explicit area (陳述式區塊)、(2) Main subroutine (主要的副程式)、(3) Addtional subroutines and functions (附加的副程式與函數式)、(4) Execution commenting (執行註解),其詳細說明如下:

(1) Option Explicit area

        在VB語言中,當我們在程式的一開始加上了Option Explicit 這個陳述式,表示我們在模組中的所有變數都必須以 Dim, ReDim, Public, Private, Static 等陳述式 (這些陳述式我們之後會另行說明) 來加以宣告。若有出現未宣告的變數,在模組的編譯階段會以錯誤方式警示告知。Option Explicit 必須放在所有程序 (Subs, Functions) 之前,加上它的好處是:可以幫我們檢查是否輸入錯誤的變數名稱,或是有某些變數被重複定義。另外,一般來說,我們會在這個區加上一些「註解列」(commenting lists)來說明作者、建檔日期以及參考來源。在VB語言中,當我們在某段字串前方加上撇號 (apostrophe,即 ' ),VB就會略過這段字串不讀,也就是成為單純的敘述文字。Option Exlicit 語法範例如下:

 


       Option Explicit
       'Script written by <insert name>
       'Script copyrighted by <insert company name>
       'Script version <insert date, time>

 


(2) Main subroutine

        VB語言中的 Main subroutine 由四個部分所組成,語法如下:

 


       Sub Main()
         <Variable declaration area>
         <Code(conditional statemenets, loops and I/O code)>
       End Sub

 

        上面這個範例句是沒有其他副程式 (Subs) 的情況,若有其他的副程式,在 Sub Main( ) 與 End Sub 之間則放放進呼叫其他副程式的陳述式。

(3) Additional subroutines and functions

        在VB語言中,Subs 與 Functions 幾乎可以做相同的事。但是,Functions 可以有「回傳值」(returns) 來做運算的動作,而 Subs 則無法。因此,通常我們將一些數值的運算交給 Functions 來做。另外,在 VB中 Function 可以自己呼叫自己,也就是可以做出「遞歸」(recursion) 運算,而且呼叫 Function 時可以在其左方直接加上一些函數運算式 (像是:Sqr、Cos 或 Chr 等) ,使 Function 就如同是內建函數一般。比較詳細的 Function 實際使用方式之後會進一步說明,在此僅作初步介紹。最後,我們經常會在 Sub 或 Function 的名稱左方看見一對括號,這表示可以送入變數,在 VB 中, Sub 與 Function 都可以送入變數,而當我們即使不送入變數時,也會以空的括號來表示。

(4) Excution commenting

        通常我們會在模組中將某些重要的程序做註解,註解的方式請參照本文一開始所提到的 commenting 。做註解的好處是提醒自己日後在程式越寫越複雜時,方便檢查與閱讀,另外也提供其他使用者了解程式內容的用途。此外,一個好的程式撰寫者經常會在一個複雜程式的最後端加入一系列的步驟分解註解,用以說明整個程式執行過程的每個「步驟」(step) 用途。

               最後,一個RhinoScript的檔案會被存成 " *.rvb " 的檔案格式,在此的 " rvb " 即是代表 " RhinoVisualBasic " 。本文主要是說明RhinoScript 檔案的格式與良好的完整程式架構,內文中所碰觸到的一些新知識若有位詳細說明之處,都會在之後陸續提供詳細的解說。

相簿設定
標籤設定
相簿狀態