Ruby 板


LINE

: ◆ From: 220.135.28.18 : → poga:所以我覺得良好的IDE輔助很重要阿... 11/22 14 : → poga:NetBean裡頭同名變數會標色,看到打完名稱沒標色就知道有問題 11/22 14 : → godfat:之前有用了一下 Aptana, 還是嫌慢... orz NetBean 快嗎? 11/22 14 : → poga:6.5純Ruby版的速度我是能接受了,起碼比Eclipse快上好幾倍... 11/22 14 改天試試,總覺得仰賴 TextMate 不是好事... 不過也真的找不太到比較合我意的 editor @@ : 推 shelary:另外就是如果中間少打了 END ..常常會找不到是那裡少打了 11/22 15 : → shelary:執行時出錯的訊息只會說.rb的最後一行少了END @_@" 11/22 15 : → shelary:但是完全沒辦法幫助我去找到到底是那裡少打了 END 11/22 15 : 推 poga:請善用會自己補do-end的各種工具 囧 11/22 15 : → poga:沒有工具也要習慣自己檢查括號之類的才對... 11/22 15 其實這個問題跟壞掉的 html 在各種 browser 下顯示的結果都不太一樣有關。 簡單地說就是,你的程式碼在不平衡的狀況下,parse tree 會有超過一種以上的 可能。講白話點,就是 ambiguous, 沒有人有辦法知道你真正的意圖, 只能用「猜測」的,而事實上猜測當然不能保證一定正確,只能逼近正確。 舉個簡單的例子: def f puts 'f' end def g puts 'g' end f g 寫錯,寫成: def f puts 'f' def g puts 'g' end f g ok, 這樣你覺得應該是哪裡缺少 end? 很明顯因為排版的關係,是 f 少了。 但實際上 ruby 不看排版,所以也可能是: def f puts 'f' def g puts 'g' end f g 「至少」有這兩種可能,parser 在沒有其他資訊(如排版資訊)的情況下, 是沒辦法告訴你是在哪裡缺少 end. 事實上,如果他會知道的話, 或許語言設計就應該讓他幫你補上。例如 ECMA script (javascript), 他行末的 ; 就是自動幫你補上的。語言 spec 有說,如果他可以推斷的話, 他會幫你補上去。當然不能推斷,也就是 ambiguous 時,還是會報錯誤。 其實 ruby 也是 ; 可加可不加,只是 ruby 沒有 spec 就是了。 可以參考這個討論: http://flolac.iis.sinica.edu.tw/lambdawan/node/111 裡面提到了 Java 裡的 . 的 ambiguous 問題。ruby 裡其實也有類似問題, 像是 :: 有時候可以當成 . 的意思。之前 ruby-core 上也有討論, 有人希望捨棄 :: 的用法,因為他造成奇怪的 ambiguous 問題, 希望 :: 只拿來當成 constant resolution, 而不考慮 method call. 不過也有人說,因為這個 :: 當成 method call, 可以做一些很神奇的事.... 像是 method name 其實也可以用大寫開頭,所以事實上,當你說: Object::Array 時,到底是說 Object 裡的 Array constant, 還是呼叫 Object 的 Array method? 有很多東西,乍看之下好像方便,其實日後會帶來更多的不便。基本上我是反對 把沒關係的東西作成同一個名字。像是 Java 的 . 呼叫 class method 就很討厭。 == 這裡有一個笑話。在 Microsoft Visual C++ 6.0 裡面,你少打一個 ; 他會告訴你有成千上萬個 error. 千萬不要相信他,看到恐怖的 errors, 第一個請懷疑少打 ; 或是 }. 好在後來的 VC++ 比較聰明了,就算他猜不到哪裡少加,也不會噴上千個 errors. gcc 也常常會有錯誤訊息是類似:did you forget ; ? 或是之類的。 這真的只能說盡量逼近,但沒辦法做到準確。 -- Hear me exalted spirits. Hear me, be you gods or devils, ye who hold dominion here: I am a wizard without a home. I am a wonderer seeking refuge. Sacrifice --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.28.18 ※ 編輯: godfat 來自: 220.135.28.18 (11/22 15:57)







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP