大家在初次使用PICTURE進行程式開發時,學會基本的畫面、controls設定後大多都會想要試著去開發自訂義腳本函數來擴充自己的專案功能。這時大家很常常提出的的問題是:「Ruby怎麼寫啊?」、「範例程式碼不知道怎麼改才可以符合自己想像中的方式運行」...等等。由於Ruby這個語言並不是由FANUC開發出來的東西,所以往往我們在手冊上翻來翻去還是不得其門而入,那我們應該如何進行系統性的學習,讓自己能在工作上更快上手這個語言的使用呢?以下將針對筆者的個人經驗做Ruby學習上的分享,希望能對有興趣使用Ruby的開發者們有所幫助。
學習地圖
在接觸一門新語言,我自己建議的學習地圖如下: 【熟悉語法】
熟悉Ruby語法絕對是開始寫Ruby的第一步。寫程式就像是在跟電腦說話一樣,我們需要有共通的語言才能溝通,能溝通才能與電腦合作完成一個任務。基本上,要能夠寫一個Ruby Script的話基本上要繪圖上列出的:
- 變數與常數
- 流程控制
- 迴圈
- 方法(函數)
關於類別的介紹,你可以參考以下連結,或是到其他學習資源中做進一步的了解。
viewtopic.php?t=2851
邏輯是我們能夠順利開發專案的關鍵。這部分就像實際進入與電腦溝通的階段,我們要有清晰的邏輯才能正確地給電腦指令,使其對我們的指令完全的掌握與明白不至於做錯事情。這部分的話我會建議大家一開始先從寫題目入手,先練習怎麼畫流程圖或,整理自己的思緒。若大家真的是萬不得已,必須從工作實戰中就要學會這件事的話,我也建議大家要拆分問題並畫出流程圖以明確自己程式處理流程。這也將對自己與其他工程師進行溝通會有很大的幫助。若是這部分已經有能力可以完成的朋友,我建議大家有空也可以了解一下UML圖。雖然UML在軟體開發領域中不是那麼實用的東西,但是了解各種不同圖型背後的需求、邏輯我相信對自身開發能力的提升也會很有幫助的。
演算法與資料結構的部份我們則可以想成是一些針對特定問題的公式解。在資訊工程的世界中,前人已經將很多特定問題的解法想出來了。使用這些方法將對我們在計算某些特定問題時可以發揮出更好的效能或省下許多空間。但這部分屬於進階的學習,大家可以在工作之餘有興趣再來研究!
Debug想必是大家最頭痛的部分。這部分我會建議初學的各位除了檢查語法上的錯誤之外,可以先回到自己的設計資料上去收斂自己現在遇到的問題大概是發生在哪一段程式中。找出問題所在之後就可以搭配一些可以顯示結果的元件去測試在不同條件下,執行出來的結果是什麼,一步一步地找出解法。當這樣還是無法解決問題時,建議大家以善用網路資源去尋找前人在遇到相同問題時的解法作為「參考」。在這裡希望可以建立大家一個觀念,網路上的資料除非是官方(且是由開發團隊)公開的資料以外,其他通通都只能當作參考。不只是各種論壇,連ChatGPT有時給出的答案也會是有問題的。通常基於使用者對軟體的熟悉程度並不如開發人員,有時候給出的解法是在特定情境下才可以的解法。所以會建議大家無論如何Debug時收集到的資訊還是要自己消化跟思考,對應自己遇到的情境去找出適合自己的解法。
學習資源
語法學習:
- 菜鳥教程_Ruby 教程 https://www.runoob.com/ruby/ruby-tutorial.html
- Ruby 程式設計師的摯友 https://www.ruby-lang.org/zh_tw/documentation/
- 高見龍 為你自己學Ruby on Rails_Ruby 基本 https://railsbook.tw/chapters/05-ruby-basic-1
- LeetCode https://leetcode.com/
希望以上的分享對大家初學Ruby Script有所幫助!
