看板 Soft_Job 關於我們 聯絡資訊
我玩程式語言有時候會遇到一些程式語言本身定義就跟 我自己想做的運算互相衝突的時候。Python的string被 定義為immutable, 可是可以使用index的方式去存取 字元。 比方說: s = "aabbcc" print(s[0]) 執行結果會給我輸出: a 大家在解決問題的時候,常常想的事情好像是繞過這種 問題。就我看來,能以index 的方式存取字元,我就會 誤以為可以直接對字串s 進行修改,像是 s[0] = "b" 這個敘述就不會過。 但知道python的字串是immutable之後,其實我只需要用 s存取資料,再宣告一個s1變數,把s存取的資料進行重新 組合就可以了。 常常都要做這種workaround,而不是能以我最直覺的方 式操作。 然後不同的程式語言,還會有不一樣的定義。我覺得好累 。 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.226.42.235 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1638443613.A.124.html ※ 編輯: applebg (36.226.42.235 臺灣), 12/02/2021 19:15:54
jlhc: 你在說中文嗎... 12/02 19:15
Raymond0710: 這也叫workaround???不就是語言特性 12/02 19:15
如果有程式語言把字串定義為mutable,那就又不一樣了。每個程式語言都有自 己的定義,永遠追不完。 ※ 編輯: applebg (36.226.42.235 臺灣), 12/02/2021 19:18:21
gasbomb: 有意見自己去發明語言 12/02 19:17
※ 編輯: applebg (36.226.42.235 臺灣), 12/02/2021 19:19:43
tbpfs: 這是超新手程度的問題,你來錯版了 12/02 19:21
我在想高手們是不是workaround之後,還能把他們workaround的方式寫成一個 方便使用的function,以後大家遇到一樣的問題就直接拿他們的function用。 對我是新手。 ※ 編輯: applebg (36.226.42.235 臺灣), 12/02/2021 19:27:48
alihue: java: str.charAt(i) 12/02 19:26
alihue: python 為了易用確實犧牲了一些嚴謹的設計。如果無法接受 12/02 19:29
alihue: 就回去寫靜態語言,可以靠 IDE 的靜態分析省很多地雷 12/02 19:29
Sunal: 要不要來寫rust,沒定義好都不給你操作 12/02 19:53
wulouise: 我還以為你要自己發PR解bug 12/02 19:53
l1724108: 不能用i++,只能用i += 1 wORkaRouND 我覺得好累 12/02 19:54
js07150715: 去寫C就沒這種問題 12/02 20:05
hduek153: 一台不能飛的車然後你抱怨怎麼不能飛? 12/02 20:08
hero32036: 這也可以唸..轉行好了 12/02 20:10
nh60211as: ??? 12/02 20:11
jhjhs33504: 某些人開發的APP會閃退就是這樣搞 12/02 20:15
WaterLengend: 你也想了個workaround不會被刪文但是也沒解決什麼 12/02 20:33
WaterLengend: 問題。 12/02 20:33
viper9709: 可以考慮包成函式~雖然這樣就違背原語言的特性了... 12/02 20:34
DrTech: 哈哈,還好你沒寫過 perl,你會瘋掉 12/02 20:47
abccbaandy: 你錯了,高手遇到這問題就會再發明一種新語言,不然 12/02 20:49
abccbaandy: 你以為為什麼會有這麼多語言? 12/02 20:49
horsekit: python的字串是mutable 這不是workaround 用改陣列的方 12/02 21:02
horsekit: 式改字串習慣很不好 12/02 21:02
leo021566: 唉 12/02 21:17
CMJ0121: python的字串是mutable <-- 這是對的嗎? 12/02 21:44
Isaea: 寫php啊簡單粗暴 12/02 21:48
somefatguy: 你的問題是怎麼會覺得好累,不要一直坐著要多運動 12/02 21:57
superpandal: 很多都不直覺沒錯 java就是 一堆以設定當語法的... 12/02 21:59
superpandal: 語法即是設定 不然要ide做什麼 根本不好除錯 12/02 22:00
superpandal: java底層還ok 一堆框架步步是坑 浪費時間工具鏈 12/02 22:01
Petyr: 你確定你知道什麼叫做workaround? 12/02 22:02
DarkIllusion: 看來你把python字串immutable的設計視為一個問題 窩 12/02 22:06
DarkIllusion: 覺得不是這樣的 12/02 22:06
DarkIllusion: https://reurl.cc/Q6KmOq 12/02 22:06
easyman: 每種語言有不同設計哲學,覺得無法了解,就換一種吧。 12/02 22:07
superpandal: 有時候真的覺得很感慨 學習學一堆沒實質意義又很累的 12/02 22:14
superpandal: 做什麼呢? 12/02 22:14
saladim: 此篇前提不對吧 12/02 22:33
ssccg: 為什麼能以index存取就要能修改? get和set分開不是很常見? 12/02 22:45
ssccg: 你所謂的workaround還是沒有修改到原物件,這只是正常操作 12/02 22:49
ssccg: 然後說到直覺,很多人所謂的直覺,其實只是自己最先學的語 12/02 22:56
ssccg: 言的特性,自己用有誤會的成見寫錯了再說不直覺 12/02 23:00
Raymond0710: #1XfUPdaE (graduate)考不上研究所比這件事感慨多了 12/03 00:08
KanzakiHAria: 推 12/03 00:42
godsparticle: 怎又語言大戰 12/03 08:53
shooter555: 說出一句話後 不管再怎麼想改變句子的內容 就是第二句 12/03 09:38
shooter555: 話了 所以用新的字串來保存你想改變的新的字串 也沒什 12/03 09:38
shooter555: 麼不對 12/03 09:38
Qoofate: 這文也太廢了 你還是去7-11好了 12/03 09:39
shooter555: 原本的直接用陣列越過保護 才真的是workaround 12/03 09:40
godbye45: 等你發明一套新語言 12/03 11:09
tbpfs: 原來是中文系...http://shorturl.at/lFKPV 12/03 12:30
tbpfs: 不過你的中文呢..... 12/03 12:30
OrzOGC: 還好我門外漢 不認為這是問題 12/03 12:35
vi000246: 我都直接右鍵 格式化硬碟 12/03 13:02
newking761: 可悲 12/03 13:02
me356500: 吐了= = 12/03 13:34
aalexx: 為什麼推數是正的 12/03 14:29
www17010: 原來是上次在研所版被噓爆的朋友,看來你還是轉換跑道好 12/03 15:41
www17010: 了 12/03 15:41
sniper2824: 大家都有得噓 真好 12/03 17:09
WayneHong: 看他以前的發文真的搞不懂是不是在反串0.0 12/03 17:41
BearFather: 講中文 12/03 17:57
rockman037: 以py的特性, 難保有人想在裡面塞多個char,這討論不 12/03 18:52
rockman037: 完 12/03 18:52
andy831020: 浪費五分鐘想這到底是不是反串釣魚 12/03 19:06
zipigi: 笑死 到底在供蝦毀 12/03 19:46
tvbic: 你第一天寫程式是不是 12/03 20:25
pttano: 你的workaround 想法真特別,你是半桶雞還是新人? 12/03 20:42
superpandal: char array確實貼合C 沒有不好 12/03 20:59
jhjhs33504: 只能說規模不同做法有差 12/03 22:38
KyGrA: 我覺得去上班的路程都比這些累 參考一下 12/04 04:24
daddy29: ...............你不太適合後端 12/04 18:39
remmurds: 聖光術 12/05 13:23
lonelytea: XD 12/06 03:05
m2938: 這種程度拜託不要再寫code了 12/06 13:10
sarsman: Immutable的中文是不可變的,跟用index讀取不衝突啊 12/06 15:30
brad84622: 阿鬼你砍掉重練吧 12/06 18:04
gn01642884: 字串為什麼是immune的是有它的原因 12/06 18:12
gn01642884: 可以參考“程式設計師的自我修養”一書 12/06 18:13
superpandal: 看來這篇推文是針對樓主的 不過只能說哪有什麼修養 12/06 21:26
superpandal: 有名的專案還不是爛的跟什麼一樣 12/06 21:26
ku399999: 你不適合寫程式,轉行吧 12/07 08:12
ku399999: 搞不清楚還不懂問人,說別人workaround 12/07 08:13
shooter555: 被噓到這樣跟風的應該不少 這種保護的確會造成效率下 12/07 09:24
shooter555: 降就是了 12/07 09:24
IhateOGC: 先運動吧,整天坐著陷入迷思了 12/10 03:52