Ruby的方法和類別 使用Ruby來建立類別(class)-新物件的模板。 使用實體變數(instanec variable)來定義物件,以及使用實體方法(instance method)來定義物件能做的事。 定義方法 在Ruby中,定義方法方式: def print_sum(arg1, arg2) print arg1 + arg2 end 要呼叫包含引數的方法,將需要為方法定義加入參數(parameter)。參數將會出現在方法名稱之後的圓括號裡(如果沒有參數,則應該省略圓括號),方法呼叫上的每個引數將會被存入方法定義中相對應的參數。 def hello puts "Hello" end def bye puts "bye" end 也可以把方法參數先寫... Read more 16 Jan 2024 - 3 minute read
Ruby的基本方法 呼叫方法 註解: 在Javascript是用//來做註解,Ruby裡是用#做開頭來當做註解。 puts與print: puts是”put sreing”的簡寫,以便把文字顯示在標準輸出。我們會把一個字串(內容所要顯示的文字)傳遞給puts。 接著在把另一個字串傳遞給下一列的print方法,以便詢問使用者名字。print方法的行為就像puts,但是puts會自動在字串結尾添加一個換列符號以便跳到下一列,但是print並不會這樣做。 Ruby的頂層執行環境(top-level execution environment)納入了這兩個方法以供呼叫。在Ruby中,你不必指定接收者就可以呼叫頂層環境中所定義的方法。 方法引數 puts方法需要取得字串並把它印... Read more 13 Jan 2024 - 1 minute read
Typescript起始 使用typescript要先了解什麼是強型別(Strongly Typed)&弱型別(Weakly Typed) 1 + 1; 這結果是1+1=2。 1 + “1”; 這結果就不一定了,如果是在Javascript裡的話就是直接轉型字串相加變成字串”11”。 但是在Ruby和Rust裡會直接報錯,因為他們是屬於強型別。這就是強型別和弱型別的差異,有沒有自動轉型(Coerce)。 那Typescript是強型別還是弱型別呢?? 普遍人都覺得他是強性別比較嚴謹,其實他是屬於弱型別語言,還是跟Javascript一樣,擁有自動轉型。因為他本身就是Javascript的超集合概念,任何Javascript可經由Typescript編譯,根據Javasc... Read more 09 Jan 2024 - 2 minute read
Rust-Statement&Expression Rust主要是分成敘述(Statement)和運算式(Expression) 敘述又分兩種:宣告敘述(Declaration statement)和運算式敘述(Expression statement) 宣告敘述用於宣告各種語言項(Item),包含宣告變數、靜態變數、常數、結構、函數等,以及透過extern和use關鍵字引入套件和模組等。 運算式敘述指以分號結尾的運算式。求值結果將被捨棄,並總是回傳單元類型()。 fn main() { pub fn answer() -> { let a = 40; let b = 2; assert_eq!(sum(a... Read more 23 Oct 2023 - less than 1 minute read
編寫與執行整合測試 測試可以分為兩大類,應用程式裡的函式攥寫程式碼屬於inside-out(由內而外)的單元測試(unit testing),整合測試是針對使用者執行應用程式的可能情況攥寫測試碼則是outside-in(由外而內)慣例。 會先建立一個tests的檔案夾來存放 use assert_cmd::Command; #[test] fn runs() { let mut cmd = Command::cargo_bin("hello").unwrap(); cmd.assert().success().stdout("Hello, world!\n"); } Read more 23 Oct 2023 - less than 1 minute read