一個二進位方法判斷是否為 2 的次方數

今天看了一個問題,是叫你寫個程式判斷一個數字 n 是否為 2 的次方。 起初一個很簡單的概念就是用个迴圈,從 1 開始不斷的乘 2 ,如果這個數字跟叫你丟進來測試的數字 n 相同,那就是 2 的次方了。 大概長是下面這個樣子: int det_is_power_by_2(unsigned n »

關於 python 中的 self

在 python 物件方法中,如果存取一個 class 或者 instance 中的變數, 那麼在物件方法宣告參數時,就必須要有一個 self 當作第一個參數。 大約長得像下面這樣: class Person: def __init__(self, name, age): self.name = name self.age = age »

lambda 與邱奇數

lambda 這幾天研究了一下 lambda 之後,發現 lambda 根本不只是匿名的函數這麼簡單而已。在很早之前邱奇就很想用數學表達世界上所有的事情。而當中為為了設計一套方法來判斷什麼樣的東西是可以拿來被計算的,lambda 就被獨立出來發展了。 而 lambda 運算其實包含的元素其實很簡單,只有包含兩個東西,就是變數跟函數而已。 先講一下如何表示一個 lambda 表達式 ( lambda term ),接著舉幾個例子就能很快看懂這套數學系統了。 lambda 表達式的規則(以下用 t »

python 的 iterator

for 迴圈跟 iterator (可走訪物件、迭代器) 很多人在初學 python 的時候,都會搞不懂 for 迴圈到底是在做些什麼 初學 python 應該會看到這樣的 for 迴圈 for i in range(10): print(i) i 從 0 »

Ruby, Python, NodjJS, PHP 小看法

最近在 Codecademy 把 Ruby 這個我沒學過的語言給跑了一遍,之前我是覺得這語言有點醜啦,但深入了解一下之後,我發現是有他的哲學存在的。 所以我現在想稍微比較一下我碰過的語言,比較一下社群的生態 Ruby 先拿 Ruby 來聊聊,因為才正剛好跑完一趟他的教學。一開始我看到 Ruby 的 Block 是用 end 結束,我就聯想到 Pascal 這個號稱當代最美的程式語言。 Pascal »