Dart Patterns
Patterns 在Dart3.0才有的特性Patterns,可用於匹配、解構和處理複雜的數據結構。 Patters三大核心 1.數據解構(Destructuring) 將複雜的數據結構拆解成簡單的變數: // 基礎解構:從陣列中提取數據 var nums =...
Dart Records
紀錄(Records) Records提供了輕量且靈活的方式來組合多個值,無需繁瑣的類別定義。 基本概念 1.Records是匿名的、不可變的複合類型 2.允許將多個值捆綁再一起,類似輕量級的Class 語法: 1.使用圓括號()來建立Records 2.可以包含位置參數和命名參數 var person...
Flutter Generics
泛型(Generics) 可以用泛型來確定特定的東西放到指定的地方。 List items = []; items.add('money'); items.add(111); 這樣寫法靈活,但裡面的內容會變得不好管理。 使用泛型後,會變得清楚可控:...
Flutter function
函式(Function) Dart對函式處理很靈活,允許將其它數據類型一樣進行賦值、傳遞和返回,大幅強化其表達能力和靈活性。 函式宣告 int add(int a, int b) { return...
Ocaml
Ocaml Ocaml中function被稱為values,可將函數用作函數的參數並從函數傳回它們。 Value Ocaml與大多數函數語言一樣,是以表達是為導向的語言。在Ocaml中,語句不指定對資料採取操作,所有計算都是透過表達式求值完成的,計算表達式產生值。 # "It has a type";; -...

Rust initialize
資料型態 基本數字類型 Rust提供的基本數字類型非為三種: 1.固定設定值範圍的類型 2.動態設定值範圍的類型 3.浮點數 固定設定值範圍的類型包含不帶正負號的整數(Unsigned Integer),和符號(Signed Integer)。 不帶正負號的整數包含:...

Ruby initialize
實體初始化 self呼叫相同實體上的其他方法 當需要在相同物件的initialize方法中,呼叫name=和salary=等屬性寫入器方法。讓我們得以在設定@name和@salary等實體變數前,執行寫入器方法的驗證碼。但這樣會無法運作: def initialize(name = "Anonymous", salary = 0.0)...

Ruby initialize
實體初始化 Ruby的Integer 我們對於Integer類別的實體進行運算,Ruby會向下捨入到最接近的整數 50000/365*14 解果會是1904 會向下取整是因為Integer的實體無法儲存帶小數的數值,僅用於存取整數。 Ruby的Float運算 當一個Integer實體除以另一個Integer的結果。 50000/365 結果是136,但應該是136.9863。我們可以透過讓數值包含小數點來達成。...

Ruby inheritance
繼承 Ruby也跟其他物件導向一樣,有著繼承(inheritance)的概念,可以讓類別從另一個類別繼承方法。 繼承可把常用的方法移往單一類別,而不必在多個類似的類別中重複定義方法,可以讓其他類別繼承該類別。具有常用方法的類別稱為超類別(superclass)或稱為父類別,繼承這些方法的類別稱為子類別(subclass)。 這邊有Car,Truck,Motocycle等類別具有若干共同的實體方法和屬性,每個類別用於代表一種類型的種類。這邊建立一個新的類別,將該類別取名為Vehicle,並把用的方法和屬性移往該處。這樣Vehicle類別稱為三個類別的父類別。而Car,Truck,Motocycle則稱為Vehicle的子類別。 在Ruby中,子類別不會繼承實體變數;他們所繼承的是用於建立這些變數的屬性存取器方法(attribute accessor method)。 定義父類別 為了消除Car,Truck.Motorcycle等類別中重複的方法,把共享的方法和屬性移往Vehicle類別。Car,Truck.Motorcycle皆為Vehicle的子類別,繼承了Vehicle的方法。 class...

Ruby
Ruby的基本方法 呼叫方法 註解: 在Javascript是用//來做註解,Ruby裡是用#做開頭來當做註解。 puts與print: puts是”put sreing”的簡寫,以便把文字顯示在標準輸出。我們會把一個字串(內容所要顯示的文字)傳遞給puts。 接著在把另一個字串傳遞給下一列的print方法,以便詢問使用者名字。print方法的行為就像puts,但是puts會自動在字串結尾添加一個換列符號以便跳到下一列,但是print並不會這樣做。 Ruby的頂層執行環境(top-level execution...

Ruby methods
Ruby的方法和類別 使用Ruby來建立類別(class)-新物件的模板。 使用實體變數(instanec variable)來定義物件,以及使用實體方法(instance method)來定義物件能做的事。 定義方法 在Ruby中,定義方法方式: def print_sum(arg1, arg2)...