Hot

2012年7月18日 星期三

Ruby入門(3)

練習三:

程式碼:


puts "I will now count my chickens:"

puts "Hens",25+30/6           #母雞   ,代表什麼?
puts "Roosters",100-25*3%4    #公雞   %一樣是mod嗎?

puts "Now I will count my eggs:"

puts 3+2+1-5+4%2-1/4+6      #結合性??

puts "Is it true thar 3+2<5-7?"

puts 3+2<5-7

puts "what is 3+2?",3+2
puts "what is 5-7?",5-7

puts "oh,that's why it's false."

puts "How about some more."

puts "Is it greater?",5>-2
puts "Is it greater or equal?",5>=-2
puts "Is it less or equal?",5<=-2

結果:
結果沒問題,但過程很有問題阿!!!
Ruby運算子優先權到底為何?
http://www.ruby-lang.org/zh_TW/documentation/ruby-from-other-languages/to-ruby-from-c-and-c-/
這個網站解答我練習一(http://crazyinf.blogspot.tw/2012/07/ruby1.html)的疑惑,原來

首字大寫代表常數

這樣就不用加const了,而且

Ruby沒有++ --

問題一、  "  % "


再練習過程中,我發現    ,   在ruby不是連接,是像java中 int a,b;那種感覺,

如果 puts "hi",2 會印出
hi
2
由於puts會換行

而若要連接,則使用 puts "hi"+2,但會失敗,可以選擇以下兩種方法
1.改成 puts "hi"+"2"
2. puts "hi"+2.to_s                  #型態轉換  可以 p 2.to_s 確定型態
成功後會印出
 hi2

如果要重複印字串,可以使用 puts "hi"*2,就會印出
hihi


...我剛剛還在想for迴圈, ruby實在太神奇了


問題二、  "  %  "的使用

我試了  print 10%2+2
發現%優先權高於+且為mod
遇到同級(*  /)則優先權由左至右

問題三、  結合順序

可以打入irb進行測試(exit 跳出)

3+2+1-5+4%2-1/4+6

3+2+1-5+0-0+6            #若要1/4變小數則打入1/4.to_f

7

加分題:

1.每行前寫註解說明
#印出我將要數有幾隻雞
puts "I will now count my chickens:"
#印出母雞
#30隻
puts "Hens",25+30/6
=begin
印出公雞
97隻
=end
puts "Roosters",100-25*3%4
#印出我將要數有幾個蛋
puts "Now I will count my eggs:"
#有7個蛋
puts 3+2+1-5+4%2-1/4+6
#印出
puts "Is it true thar 3+2<5-7?"
#判斷句
puts 3+2<5-7
#印出
puts "what is 3+2?",3+2
#印出
puts "what is 5-7?",5-7
#印出
puts "oh,that's why it's false."
#印出
puts "How about some more."
#判斷句
puts "Is it greater?",5>-2
#判斷句
puts "Is it greater or equal?",5>=-2
#判斷句
puts "Is it less or equal?",5<=-2
2.寫個自己要算的.rb 印出

3.研究浮點數
後來發現要使用浮點數有兩種方式
1.將數值加上.to_f
2.直接加.0表示為浮點數

4.使用浮點數重寫一次
puts "I will now count my chickens:"
puts "Hens",25+30.0/6
puts "Roosters",100-25*3.0%4
puts "Now I will count my eggs:"
puts 3+2+1-5+4.0%2-1.0/4+6
puts "Is it true thar 3+2<5-7?"
puts 3+2<5-7
puts "what is 3+2?",3+2
puts "what is 5-7?",5-7
puts "oh,that's why it's false."
puts "How about some more."
puts "Is it greater?",5>-2
puts "Is it greater or equal?",5>=-2
puts "Is it less or equal?",5<=-2
可是雞有小數點個...


我學到了:

1.浮點數可用.0 或.to_f方式代表
2.%比+優先且成是由左而右
3.要多印一行可以使用" , "

感謝作者 = )

2012年7月17日 星期二

Java無法連接 MS SQL Server之解決方式: 開啟1433 埠

*請先 eclipse 確定有引入sql jdbc driver,引入過程如下:
1.到
http://www.microsoft.com/zh-tw/download/details.aspx?id=11774 下載 sqljdbc_4.0.2206.100_cht.exe


裝在你喜歡的路徑(直接解壓縮是放在當前目錄)打開後
Microsoft JDBC Driver 4.0 for SQL Server=>sqljdbc_4.0=>cht=>help=>index.html是官方使用說明文件,很實用!!

如果你使用2012版本的  SQL Server 請使用 sqljdbc4.jar
之前版本的要用(2)把jar檔丟進去(專案的新資料夾/專案目錄)
(3)選copy  確定
(4)對著那個eclipse中出現的jar檔按下右鍵 buildpath !!就完成摟~
(5)可以去Project=>Properties中確認


*開始~
前幾天使用 Java JDBC 連接 MS SQLServer 時出錯,錯誤信息為

com.microsoft.sqlserver.jdbc.SQLServerException: 連接到主機 localhost (連接埠 1433) 的 TCP/IP 連接已經失敗。


可以開啟cmd,輸入 netstat -na | find ":1433"  若無東西代表本機1433埠沒開,但連SQLServer要用到1433阿


於是參考以下網站
http://www.infocaptor.com/dashboard/jdbc-with-sqlserver-connection-refused-connect

重新啟動後再一次 netstat -na | find ":1433" 發現可以連接了!!

感謝外國先輩 = )





2012年7月15日 星期日

Ruby入門(2)

練習二:

在練習一加分題已學會使用註解,但還是要練習 = )。

# A comment, this is so you can read your program later.
# Anything after the # is ignored by Ruby.

puts "I could have code like this." # and the comment after is ignored

# You can also use a comment to "disable" or comment out a piece of code:
# print "This won't run."

puts "This will run."

加分題:

1.#  英文為 octothorpe   = >成功
2.ex2.rb中。由最後一行逐個單字檢查回第一行
   雖然不太清楚題目要的到底是什麼,如果是檢查打錯字,那算 = >成功
   # print "This won't run."

3.改正錯誤  = >成功
4.讀出每個字符,改正錯誤  = >成功


我學到了:

1.註解使用方式
2.閱讀要仔細


附記:

# print "This won't run."
打開,發現
print "This won't run."一樣可以顯示,而且

print "This won't run.\n"

只要一個\n就有換行效果,但puts 與print的差異為何呢??


"print 會準確輸出所提供的內容;puts 則一定會以輸出行 (output line) 結尾"
所以還是不懂= ~ =

於是經另一個網站中說明後:

http://wiki.plweb.org/Ruby/Chapter

才知道

puts 會自動幫你換行,"有隱含的\n"意思(等同上上個網站中說的)


printf 就是單純印出你想印的,加\n才換行

另外上個網站還有提到有第三種方法   

p      可以辨別印出的是數值還是字串(字串會連" "一起印出)

三個都是Kernel模組所提供的方法 = )

感謝作者們 = )








Ruby入門(1)


練習一:

原本以為直接執行gedit就可以了

沒想到不在目錄底下不能執行,於是上網找到這個網站
把gedit的環境變數設置一下

1.之後發現還是不能直接在command line中編輯,執行gedit.exe會跳出gedit的視窗那只好用文字編輯器編輯完再存進去

2.其實notepad++也很好用,也有一些實用外掛,用notepad++應該也可以。


左邊是gedit 右邊是notepad++看個人喜好~

3.尊重作者,我使用gedit,編輯完文檔後存回C:\kit\learning
puts "Hello world!"
puts "Hello Again"
puts "I like typing this"
puts "This is fun"
puts 'Yay! printing.'
puts "I'd much rather you 'not'."
puts 'I "said" do not touch this.'

4.由於我很懶的換目錄=/////=於是新增cmd的捷徑,起始位置為C:\kit\learning目錄


5.執行結果:



發現沒有錯誤


加分題:


1.讓你的腳本再多印一行:

在文末多打一個  puts "additional line"    =>成功!!

2.讓你的腳本只印其中的一行:
由於之前學過c++、java ,知道單行註解為//  ,多行註解為/**/
ruby中
單行註解為
#
多行為
 =begin
 =end

試試看:

=begin
puts "Hello world!"
puts "Hello Again"
puts "I like typing this"
puts "This is fun"
puts 'Yay! printing.'
=end
puts "I'd much rather you 'not'."
#puts 'I "said" do not touch this.'
#puts "additional line"




其實gedit中的藍字己經告訴我結果了...   =>成功!!
3.在一行的開始位置放置一個 # (octothorpe) 符號。它的作用是什麼?自己研究一下:

由題二知是註解。

Ruby入門(0)

這是我的第一篇網誌,主要是看到 http://lrthw.github.com/intro/ 這個網站有詳細的教學,於是想把實做過程留下做個紀錄。

註:  請參考上述網站,這裡只是學習過程。


首先,第零章講安裝,我系統中的ruby版本為1.9.3

 http://learnpythonthehardway.org/wiki/ExerciseZero 下載好gedit後

1.在"編輯"=>

2."檢視"勾選"顯示行號"

3."偏好設定"=>"編譯器"=>"Tab字元寬由8改2"且勾選"插入空格代替Tab字元"

4.關閉



1."開始"=>打入cmd  ,轉到我安裝ruby的目錄 c:\kit>

2.打入irb 後進入批次,exit退出
注意: blogger請使用google瀏覽器,我原本使用opera next在新增上圖時當掉了...

3.建立目錄以放置要練習的檔案
 再按一次dir 就有目錄了,覺得很亂想清空可以打入cls,要查找其他指令可打help查詢

這樣應該就完成練習0了,感謝原作者的解說 = )