2017年1月13日 星期五

Learn ruby the hard way 自學心得

https://learnrubythehardway.org/book/

由於學了rails發現實在太容易卡關,想了想還是回來一條一條刻,畢竟如果以後要寫,卡關是沒人可以救你的,還是要自己學會游泳的方法 

只記卡關的地方和重點
:E2 檢查每條程式行理解並在上面註解,這非常重要。
:E3 運算子及浮點數4.0
:E5 變數在字串中使用#{}
:E6 "" '' 的用法
:E7 #{}中使用字串要加''
:E8 %{}   #{}  的用法
:E9\n  %q的用法
:E10 \n \t \\
:E11 gets方法後的chomp可以去除掉換行字元
:E12 to_i, to_f
:E13 ARGV, unpack, 
:E14 使用ARGV, $stdin.gets.chomp
:E15 get.chomp irb  這堂很重要 
:E16 寫入檔案 open, write, read
:E17 複製內容到另一個新檔案
:E18 def function () end 
:E19 function實作
:E20 seek的用法 



:E21 function的應用 function(function())
:E22 review "", #{}, .to_f, =, %{}, %q{}, \t\n\\, gets.chomp, $stdin.gets.chomp, ARGV, IO open,  

:E23 閱讀code , carrierwave , [include,module,require    ?]
:E24 <<END called heredoc
:E25 Ex25 module名可以存成Ex29.rb
:E26 改錯字
:E27 ||or, !not, !(true&&false)=true,!(true||false)=false
:E28 when boolean true return first operands
:E29 if..end
:E30 syntax error means 少了end, block, elsif
:E31 set a logic game
:E32 array, <<, for in, each do,
:E33 numbers.each do |fruit|
         puts "#{fruit}"
         end

         可以簡寫成 numbers.each { |n| puts n }
後面要改寫成function呼叫,我竟然卡關了...
:E34 ordinal 順序數, cardinal 幾個數
:E35 可以改成這樣判斷是否是數字   if choice =~ /[0-9]/
:E36 練習練習再練習
:E37 練習讀程式碼
:E38 stuff.push("hello") = push(stuff, "hello")
:E39 only use numbers to get items in Array, Hash用法 key => value
:E40 initialize的用法,@  蠻重要的

:E41 make class rb
:E42 is-a has-a 沒有解答  還是別看  免得搞混 http://guides.ruby.tw/ruby/methods.html
:E43 物件導向程序 就是RSpec 作遊戲
:E44 inheritance, include module, initialize @ 去別的類別取方法
:E45 用function說法取代method, 作遊戲,
:E46 作測試
:E47 作測試
:E48 作測試  這幾段我都跳過..  
:E49
:E50 架web
  

沒有留言:

張貼留言