不知道大家有沒有看過一本書叫做七週七語言,這本書用七週的時間,每個禮拜都介紹一門新語言。而我最近剛好看到Hackerrank有一個專欄叫做 "30 Days of Code",於是我就想說,何不把這兩個概念結合在一起,來挑戰看看30天內用四種語言(Scala、Python、Golang、Rust),也就是四週四,來完成這個專欄呢?因此就有這個 "30天的四週四語言大挑戰" 計畫啦!我不會像坊間已經很多的101教學文,也不會只是貼Code,而是從實作出發,並拆解其中的精妙之處,讓你就算本來不懂,經過30天後也能和我一起對這四門語言有深入淺出的了解啦!(我也不知道為什麼我要這麼自虐呀呀呀呀)
今天的挑戰內容是把一個整數本來是十進位表示,變成是二進位表示。例如 5 變成二進位的話是 101,13 變成二進位是 1101。然而我們不只是要以二進位表示,而...
先前我們已經有講過 Array 以及各語言與 Array 類似的資料結構,現在讓我們進一步來看當我們的 Array 從 Single dimension 變成...
繼承是 Object-Oriented Programming 當中的一個概念。如果我們說一個類別 B 繼承了類別 A,則 B稱為 A的子類別,A 就是 B的父...
今天的主題是 Abstract class,也就是抽象類別。抽象類別跟一般類別不同之處在於,抽象類別僅定義方法,而沒有實作,因此不能直接拿來生成物件。舉個例子...
今天我們來聊聊 Scope 這件事吧!不要小看這件事情,有很多東西還是對進階的 Developer 有所幫助呢! Python 3 在 Python 的世界,...
今天要來談的是,如何在這四個語言去實作出 Linked list。而 Linked list 是怎樣的資料結構呢?我們可以看到下面每個 Node 都有綠色和黃色...
今天我們來看看 Error handling 的部分吧!也就是如何處理異常和錯誤。異常和錯誤又有點不一樣,錯誤往往是指非預期的情況,必須透過修改程式來解決,而異...
今天的主題在 Hackerrank 的安排下是延續昨天的主題。昨天我們做的事情是當發現異常的時候,各種語言是用什麼樣的方式在解決。然而今天我們要來看看如何讓我們...
今天我們要來談談另外兩個很常見的線性資料結構:Queue 和 Stack。Queue 的概念就是先進先出啦!就像是排隊買東西,當然先來的人要讓他先買囉!而 St...
今天終於要來談談介面,也就是 Interface 啦!之前當我們在談繼承以及抽象類別的時候,說到在 Golang 跟 Rust 並沒有這樣的概念,在這兩個語言則...