Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Ruby女孩1/6

538 views

Published on

主要以2014年參加鐵人賽所準備30篇文章作為分享主題,30篇文章皆以【Ruby程式設計(The Ruby Programming Language)】-David Flanagan & Yukihiro Matsumoto著(蔣大偉編譯)這本書為主,第一次分享將介紹前五篇內容,涵蓋Ruby語彙結構(comment,literal,punctuation,identifier,keyword)簡介與Ruby資料型別中的數字(Numeric)等。

Published in: Technology
  • Be the first to comment

Ruby女孩1/6

  1. 1. Ruby女孩: 10萬.times { puts "為什麼?" } Annie Chen 1 6
  2. 2. WhoamI? Annie Chen Rails Girls Taipei 3rd 學員 Rails Girls Taipei 4th, 5th 教練 Rails ⼯工程師 @ i-True 數學⽼老師
  3. 3. 3月 8月7月6月5月4月 9月 10月 11月 12月 第⼀一次成為 RailsGirls 參加LTRT 開始練功 撞牆期 我到底想學什麼? 找專案練習 ⾃自我驗收 RailsGirls 校園推廣 RailsGirls 教練初體驗 A Ruby Week in Japan iT鐵⼈人賽挑戰 Ruby ⼥女孩 I got a job! Share ⽇日本⼼心得 In 2014…
  4. 4. 這些都是我 Annie 安妮 facebook: @OtiAnn github: @OtiAnn twitter: @_OtiAnn blog: blog.annideas.com
  5. 5. 2014/10/1 ~ 2014/10/30 連續不中斷 分享IT文章
  6. 6. http://blog.annideas.com/ironman7 My 30 Days…
  7. 7. Ruby⼥女孩(1): 為什麼選擇Ruby? 圖⽚片出⾃自:⽇日本⼈人⼒力公司 リクナビ NEXT
  8. 8. Ruby社群很多 Ruby/Rails線上資源豐富 友善 熱情 有資源有朋友學起來開心 互相分享 工程師的鄙視鏈? 其實一切只是巧合 鄙視鏈是啥?軟體⼯工程師的鄙視鏈
  9. 9. 最重要的是!
  10. 10. ⼀一直以來... 並⾮非有系統、有架構的學習 知識之間 似乎沒有連結在⼀一起 很多專有名詞與概念 似懂⾮非懂
  11. 11. The Ruby Programming Language Ruby 程式設計 David Flanagan, Yukihiro Matsumoto 著 蔣⼤大偉 譯 定價780元 455⾴頁
  12. 12. 一直問 一直問 一直問 一直問 一直問 一直問 一直問 一直問
  13. 13. Ruby⼥女孩(2): Matz為什麼要創造Ruby? 圖⽚片出⾃自:⽇日本⼈人⼒力公司 リクナビ NEXT
  14. 14. 發明Ruby之前,我學習過許多程式語言,但是沒有一個可以 完全滿足我,他們不是太醜陋,就是太苛刻、太複雜或者太簡 單。身為一個程式員,我想要發明一個能夠滿足我自己的語言。 Ruby語言的發展過程中,我將所有精力都用在讓編程更快速 以及更容易。 多數程式員都覺得Ruby是一個優雅並且容易使用的語言,使 用它來撰寫程式是一件令人愉快的事。 引⾃自【Ruby程式設計】p.3
  15. 15. 引自書中所提到Matz的理念: 希望Ruby中的所有功能,都能按照一般程式員所預期的運作方式而設計。 希望Ruby中的所有功能,都能按照一般程式員所預期的運作方式而設計。 希望Ruby中的所有功能,都能按照一般程式員所預期的運作方式而設計。 ?
  16. 16. 第⼀一次看到這句話 充滿疑問 直到我聽了去年Ruby Kaigi Matz的Keynote後...
  17. 17. Matz在介紹Ruby3.0的構想時說到一句...(約在影片33分20秒處)
  18. 18. Computer, You should know me!!!
  19. 19. 對呀! 程式語⾔言是我們跟電腦溝通的語⾔言 電腦也是⼈人類發明的 我們⽤用接近⼈人類⾃自⼰己的語⾔言 讓電腦來理解我 應該很合理才對呀!
  20. 20. 什麼是接近人類的語言?
  21. 21. Ruby⼥女孩(3): 我該怎麼try Ruby的語法? 圖⽚片出⾃自:⽇日本⼈人⼒力公司 リクナビ NEXT
  22. 22. repl.it 提供簡單的寫程式互動環境, 它在沒有網路的情況下也可以使⽤用噢~ (因為它的直譯器是以js寫的,不⽤用傳回Server,所以很快,不延遲!) repl.it
  23. 23. Ruby中⽂文官網 Try Ruby Ruby/Rails線上學習資源 其他方式
  24. 24. Ruby⼥女孩(4): Ruby的語彙結構簡介 圖⽚片出⾃自:⽇日本⼈人⼒力公司 リクナビ NEXT
  25. 25. 註解(comment) 實字(literal) 標點符號(punctuation) 識別字(identifier) 關鍵字(keyword)
  26. 26. ※註解(comment) Ruby的註解是以『 # 』字號開頭,Ruby的解譯器會忽略『 # 』 字號與它右邊的任何⽂文字 『 # 』字號如果出現在字串或正規表達式裡⾯面,就不會被註解 掉!
  27. 27. 除了前⾯面的單⾏行註解之外,也有多⾏行註解,多⾏行註解有兩種⽅方式: ⼀一種是勤勉的⼈人會做的: 另⼀一種是輕量的⼈人會做的: 勤勉的⼈人、輕量的⼈人?
  28. 28. ※實字(literal) 實字是直接出現在Ruby原始碼中的值,例如:數字、字串、正規表達式
  29. 29. ※標點符號(punctuation) 運算符(+, *, || …) 界定字串(delimit string) ※識別字(identifier) Ruby會使⽤用識別字來代替變數、⽅方法、類別等命名,識別字組成⾃自 英⽂文字⺟母、數字以及底線符號 識別字的限制: 開頭不可以是⼀一個數字、不可以包含空⽩白或不能列印的字符、也不 能含有標點符號(除了底線以外)、⼤大⼩小寫有別。
  30. 30. ※關鍵字(keyword) 關鍵字就是在Ruby中具有特殊意義的字,這些字不太適合被拿來當 做識別字(例如:變數的名字)
  31. 31. Ruby⼥女孩(5): Ruby的數學跟⽼老師教的數學 都不⼀一樣? 圖⽚片出⾃自:⽇日本⼈人⼒力公司 リクナビ NEXT
  32. 32. 「這數字分類好像跟真實數系不⼀一樣?」 「Numeric再上⼀一層,也就是他的爸爸、爺爺是誰?」 「Numeric的兄弟姐妹是誰?」 ※Ruby的數字類別分層結構
  33. 33. ※數學的數系 「也差太多了吧!」
  34. 34. 兩個疑問... 1. ⼩小的整數是Fixnum,那要多⼤大才會變成Bignum呢? 2. 3/2應該有兩種可能,⼀一種是分數、⼀一種是除完以後變成 1.5的⼩小數,但是⽤用Ruby執⾏行的結果卻是Fixnum?????????
  35. 35. 儲存於31位元空間內的整數都是Fixnum
  36. 36. 太抽象惹!
  37. 37. 原來19位整數是Fixnum,到20位整數就變成Bignum了!
  38. 38. 兩個疑問... 1. ⼩小的整數是Fixnum,那要多⼤大才會變成Bignum呢? 2. 3/2應該有兩種可能,⼀一種是分數、⼀一種是除完以後變成 1.5的⼩小數,但是⽤用Ruby執⾏行的結果卻是Fixnum?????????
  39. 39. 除法運算符取決於運算元所屬類別: 如果兩個運算元皆為整數,則會進⾏行截尾整數除法(truncating integer division)運算。如果有⼀一個運算元是⼀一個Float,則會進⾏行 浮點數除法運算。 引⾃自【Ruby程式設計】p.46
  40. 40. 還記得國⼩小數學⽼老師就有教,除以零是沒有意義的,做答請回 答「無意義」,我們看看Ruby怎麼處理除以零的問題: ※Ruby的算術
  41. 41. ※更多Ruby的算術
  42. 42. 所有⽐比20位還多的整數都是Bignum嗎?沒有範圍嗎?
  43. 43. If it ain't fun, don't do it.
  44. 44. To be continued…
  45. 45. Next time…

×