# Ruby 小知識00: 基本元素 ###### tags: `Ruby`  學習程式語言,某種程度上跟外語有些雷同,要用電腦聽的懂的語言和電腦溝通,只不過電腦不像人類那麼會變通,如果給電腦的單字寫錯或是文法搞錯,程式就沒辦法順利執行。 也因此掌握基本的元素,可以有效讓我們降低犯下初階錯誤的機會,並且讀懂比較複雜的程式結構。 懂的人可以略過此單元 ## 1. 變數 Variable 變數就像是個容器一樣,我們可把想要的資料(value)裝進這個容器裡面,當然裝入容器的資料可以再被倒出來,或是把原本的容器拿來裝新東西。 舉個例子: ``` apple = 1000 #把數字1000指定給一個叫做apple的容器 banana = 2500 apple = banana #想想看這時候apple會是多少? ``` 但每個變數都有自己的生命週期,這個後面章節再討論 ## 2. Data type 前面提到可以把value指定給variable,那value有哪些呢? * 數字:整數、浮點數的表示方式有所不同 * 字串 String:帶有 " " 的元素 * 布林值 Boolean: true, false * 符號 Symbol: 算是Ruby特有, 以 :symbol 表示 另外 * 陣列 Array * Hash 則是資料的兩種呈現方式(資料結構),後面會分單元討論 ## 3. 運算符號與邏輯符號 ``` + - * ** 乘以幾次方 / % 取餘數 ---以下為邏輯判斷--- == 判斷是否等同 > < >= <= != 不等於 --- 交集聯集--- && AND || OR ^ XOR #還有許多意想不到的符號,陸續補充 ``` ## 4. 邏輯判斷與流程控制 有沒有聽過if else或是for迴圈,ruby有很多很酷的寫法,像是: ``` case when do for while unless loop do ``` 但先大概知道就好,之後遇到我們再一起好好練習 ## 5. 方法 把上述的元素經過適當排列後,我們就可以把它們賦予成為「方法」,這樣就不用每次要用到都要重新寫,例如如果我要計算年收入 ``` def year_income(monthly_income, bonus) year_income = monthly_income * 12 + bonus end puts year_income(22000, 3000) #月薪2萬2, 獎金3000 # 印出 267000 ``` ## 6. 輸入資料與印出資料 如果要在終端機印出資料,可以用 ``` p 保留原型態、不換行、無回傳值 puts 不保留原型態、換行、無回傳值 print 保留原型態、換行、回傳值 ``` 這三種方式,但呈現的方式以及return的內容會略有不同,可以自己生成一個陣列a = [1, 2, 3] 試試 如果要餵資料給系統,則可以在終端機用gets ``` > gets pikachu #這邊是我輸入的 => "pikachu\n" > gets.chomp #加上.chomp方法把換行符號拿掉 pikachu => "pikachu" ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up