Programming 板


LINE

我平常喜歡的程式語言很多在臺灣可能都偏冷 自然PTT這裡也沒有專版 其實這樣應該直接去StackOverflow啦 但畢竟有個programming版擺在這裡還是來看看 最近開始接觸Julia 雖然跟Matlab和R一樣index從1開始令人受不了 但感覺還算是一個蠻帥的語言 動態卻有一套不錯複雜的type system. 還有multiple dispatch都挺讓人驚艷的 不過由於蠻新的網路上資源相較少 我看到doc有提到說一個函數要盡量回傳相同的type 我想請問像是假設我現在要有一個函數來解決一些constraint的feasibility的問題 (例 如LP 有feasible的點就回傳 不然回傳確定infeasible或者技術問題無法判斷 這時候通常會怎麼做? 1. 除了確定feasible都throw exeption 2. 像一般沒在管type的language一樣有時回傳vector有時回傳string 3. 我個人超想用Haskell的Either 但這應該不是Julia解決問題的方式 4. 算是類似上面吧 用個enum(variant)的type來解決 尤其不同的情況分別是一個分支 但顯然Julia不直接支援代表這應該也不是Julia的解決方式 5. 類似C同樣回傳vector但一些特殊的值代表不同的意思 我看一下簡單的預定義函數就 是用類似的方法 像是找東西找不到回傳index 0之類的 但是在情況複雜化時感覺會很麻 煩 6. 回傳一個Symbol和Nullable{AbstractVector{<:Real}}的couple之類的 我目前是直接用2不過比起string回傳symbol 雖然好像沒啥差 Julia由於網路資源不多常常都不知道怎樣是比較好的practice 像是什麼時候函數參數要給type比較好 怎樣給比較適合 甚至連naming convention都有點複雜 (要不要_之類的 然後第一次在這個版發文 最喜歡的語言是OCaml 雖然寫到一半的tuto被冷凍一段時間了 然後PLT比這邊更冷 雖然PTT本來性質就不太偏這種東西 請多多指教這樣 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 92.90.16.47
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Programming/M.1508447317.A.051.html
1F:→ MOONRAKER: ……陣列1 base就受不了 只能稱為怪癖 220.135.118.23 10/20 10:58
2F:→ cybermeow: 單純習慣問題吧 (茶 不過因為其他方 77.136.18.150 10/20 13:20
3F:→ cybermeow: 面目前看起來不錯就算了 77.136.18.150 10/20 13:20
4F:推 CoNsTaR: 看了一下教學文件,可以用 typeof 來實現174.116.112.109 10/21 00:15
5F:→ CoNsTaR: 嗎?174.116.112.109 10/21 00:15
6F:→ CoNsTaR: 不過如果語言有支援的話,我會比較想用 r174.116.112.109 10/21 00:15
7F:→ CoNsTaR: efinement types 來做174.116.112.109 10/21 00:15
8F:→ cybermeow: 用inner constructor來做算是有支援 77.136.18.150 10/21 00:48
9F:→ cybermeow: 但是我看不出來要怎麼應用 關鍵在於回 77.136.18.150 10/21 00:48
10F:→ cybermeow: 傳的type要長怎樣才好 不過這可能不好 77.136.18.150 10/21 00:48
11F:→ cybermeow: 回答吧 77.136.18.150 10/21 00:48
12F:推 CoNsTaR: 假設函數可能回傳A、B兩個型別174.116.112.109 10/21 01:59
13F:→ CoNsTaR: 那有 refinement type 的話就可以把會讓174.116.112.109 10/21 01:59
14F:→ CoNsTaR: 函數回傳 B 的參數 refine 掉174.116.112.109 10/21 01:59
15F:→ CoNsTaR: 這樣就能保證函數只會回傳 A174.116.112.109 10/21 01:59
16F:→ cybermeow: 嗯嗯只是這裡的問題是要計算過後才知道 77.136.18.150 10/21 04:11
17F:→ cybermeow: 有沒有解 而且refine掉感覺跟throw exc 77.136.18.150 10/21 04:11
18F:→ cybermeow: eption一個意思 77.136.18.150 10/21 04:11
19F:推 CoNsTaR: 是啊,支援 refinement type 的語言是在 24.114.79.93 10/21 09:24
20F:→ CoNsTaR: compile time 用 SMT solver 來求成員 24.114.79.93 10/21 09:25
21F:→ CoNsTaR: 的 24.114.79.93 10/21 09:25
22F:→ CoNsTaR: 不過我也覺得 refinement type 應該不是 24.114.79.93 10/21 09:25
23F:→ CoNsTaR: julia 的風格 24.114.79.93 10/21 09:25







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燈, 水草

請輸入看板名稱,例如:Boy-Girl站內搜尋

TOP