【面對創傷,沒有公式可以套】
在《建立對跨世代創傷的敏感度和覺知》講座裡,其中一位專家提到一個研究,一個人所經歷過的創傷,會透過基因顯化或者是經驗傳遞的方式繼續「污染」我們的孩子,但是,一旦我們「make sense of」我們的創傷,我們就可以終止這個傳遞。
講座裡並沒有詳細描述研究的細節,對我個人而言我也並不在乎,因為我已經得到我想要的東西了—如果我不想要活成我的父母親的樣子,我該做的事情,是「make sense of」我的創傷。
聽起來很直觀,不過,這個「make sense of」的概念,其實並沒有這麼好理解。我個人會把它翻譯成「弄清楚」。如果想要從創傷當中恢復,我們必須把事情從頭到尾都弄清楚。
弄清楚什麼?
難就難在這裡,沒有別人可以給我們答案。所有我們經歷過的一切,只有我們自己最清楚,所以能夠把多少情緒、經驗和記憶連接起來,完全仰賴我們願意花多少時間進入自己的內心,推開那扇塵封已久的大門,在那一團亂七八糟毫無頭緒的混亂面前坐下來,一點一點,一片一片,一絲一絲,找出到底有什麼該弄清楚的,或是還有什麼不清楚的。
***
這次回到台灣,有一件我非常不願意去做,但是又覺得必須面對的事,那就是在還來得及的時候,去見一次大魔王,跟他好好說說話。也沒有什麼特別的目的,就只是隱約有種感覺,看過他之後會有機會「弄清楚」一些事。
大魔王目前超過九十歲,目前住在一位親戚叔叔的家裡。會把他稱作大魔王,不只是因為對我個人而言他極難相處。從我六歲開始,只要跟他單獨對話超過五分鐘,他就有辦法把我惹毛。當我越長越大,對事情的了解越來全面的時候,我個人認為這個家族之所以分崩離析、情感破碎,大魔王必須要負上很大的責任。
當初蕃茄還不太會走路的時候,我們全家曾去見過他一次。受日本教育的大魔王,客廳的茶几上總會有一個雅緻的點心盒待客。當他把鐵盒掀開,喜歡甜食的蕃茄立刻眼睛一亮,搖搖晃晃地走過來,雙手捧起一大把,掉了一堆在桌面上,但還是很積極地在客廳走來走去,幫在場的每個人都分配一點。
大魔王見狀,笑咪咪地說:「這個孩子好,會分享,以後媽媽下一胎會生兒子。」
我的腦中立刻響起一句「狗改不了吃屎」,默不做聲把掉在桌上的所有點心都放回盒中,蓋上蓋子。那天我喝了一杯茶就離開,再也沒有踏進那間房子。
親戚叔叔雖然跟我的母親同輩,但是因為幾乎是家族裡最小的,跟我只差十五歲上下。從出生那一刻起,我就仰望著他一路從青少年、成人、結婚和生子。也因此,我是一路聽著家族對他的批評長大。
小時了了。聰明反被聰明誤。浪費天份。只顧談情說愛。個性頑劣。脾氣暴躁。好吃懶做。不務正業。虛榮。愛玩。
這樣的叔叔,最後居然是由他來觀照大魔王的生活起居,老實說我是從來沒有想過的。
總之,到了要見大魔王的當天。
我心裡還是覺得隨時想要逃走,畢竟跟他在一起的痛苦回憶太多了,加上我深信我跟母親之間的痛苦回憶也幾乎都源自於他,我實在是沒有把握再見到他的時候我會做出什麼事。但是有種不知名的力量一直在身後推著我往前走,我終於來到叔叔家門口,門從裡面被打開。
大魔王坐在客廳看電視,看見我走進來,笑一笑說:「你好。」
叔叔阿姨和表妹在家裡四處走來走去張羅拖鞋水果,邊回頭大喊:「阿嬤,你看這是啥人?」
大魔王僵在那裡,維持著不失禮貌的微笑盯著我。我深吸一口氣,把口罩脫下來。一看到我的臉,大魔王就哭了。
「阮阿孫,是阮阿孫啊嗚嗚嗚嗚嗚⋯⋯」
於是祖孫兩人相擁而泣,盡棄前嫌,在老人一生的最後終於迎來了大和解,讓他能安心離開,不再有所牽掛。
最好是。
有這麼容易的話就不叫創傷了。
我面無表情地抱著他,拍拍他有點駝的背,只覺得無盡煩躁。到現在沒人要理你了才在那裡哭,我從小站在你面前站到大你根本沒正眼瞧過我一次,連我幾歲幾年級髮型跟上次一不一樣都記不清楚。
我扶著老魔王走到餐桌前坐下來,叔叔阿姨跟表妹也都入座,一邊吃著水果,時不時也加入我跟老魔王的談話。而我這才發現,老魔王已經有些失智了。
先是問我爸爸好不好,再問我是不是全家都回來,之後告訴我上回弟弟全家有找他吃飯他走進餐廳差點跌倒好丟臉要弟弟不要告訴別人,再問我有沒有弟弟的電話他想要打去給他。這樣一輪以後,又開始問爸爸好不好。一次,兩次,三次,無限迴圈。
我放鬆下來了。
這種狀態的魔王,雖然套不出什麼有趣的過往,對於我原本期待可能可以「弄清楚」什麼的計畫沒什麼幫助,但是至少安全。我不用擔心他會突然冒出一句話直接啟動我的攻擊模式。(好啦其實還是有兩次,但是真的算很少了可以當作沒有)
然而,事情有了意外的開展。
跳針跳久了也是會累,叔叔阿姨開始加入話當年的行列。原本女友換不停的叔叔,認識阿姨不到一年就閃電結婚,婚後起的衝突也跟天打雷劈一樣精彩。也因為我當時十九歲,是當時二十六歲的阿姨在家族裡唯一能聊的對象,現在把各方觀點同時湊在一起攤牌真的是非常精彩。
聊著聊著,我心裡突然有種感覺開始醞釀。
衣架必須全部照著同樣的方向擺。櫃子上的書有一定的順序。屬於他的椅子絕對不能碰。一抓狂起來髒話狂飆物品齊飛。熱愛藝術。對細節催毛求疵。
我一邊咀嚼當年這些叔叔的經典地雷和個性,一邊聽叔叔繼續講。
「我其實已經改很多,妥協很多了。」叔叔回頭指指遠方:「你看像我那邊那張椅子,上面都是狗的毛,也沒人要清,可是我也就算了。」
我看到他旁邊的阿姨開始翻白眼,忍不住笑出來:「叔叔,那是你的椅子吧?沒人要清的話,你也可以清啊?」傳統大男人真的是很誇張,是以為其他人都沒事等著在那邊服侍他嗎?
叔叔沒有立刻回答,沈吟了幾秒後,說:「我當然也可以自己清,可是,這樣就不對了啊。當初要養狗的時候,我就說我唯一的條件是我的椅子上不可以有狗毛,大家都說好好好,結果變成這樣,也沒有人表示⋯⋯」
像是有一道電流直接穿過全身一樣,我突然瞪大眼睛:「等一下,我聽懂了!!」
我轉向在旁邊的阿姨:「阿姨,我聽懂了!這件事真的不對,不能是叔叔擦桌子!這不是家事分工的問題,這是承諾的問題。大家都答應我了,不會讓狗弄髒我的桌子,如果還是被弄髒,還被覺得大驚小怪要我自己擦,我會覺得沒有人在乎我。」
阿姨呆住了。叔叔也呆住了,表情像是生平第一次有人理解他在說什麼。
我的腦袋還在持續運轉,重組我得到的新資訊。一直以來大家都說叔叔脾氣大、愛計較、愛生氣大男人龜毛記仇難伺候,阿姨好可憐好厲害可以忍受他這種人,但是不對,我懂了,叔叔不是故意這樣的,他太不舒服了,他的雷一直被踩到,可是都沒人懂,也沒有人在意,就只是一直說他脾氣很差要他改⋯⋯
「叔叔,你是高敏感人,你知道嗎?」我脫口而出。
我把高敏感特質簡單地描述了一下,叔叔不停地點頭。我告訴他我可以理解,我以前也經常覺得家人無法理解我在意的點。
「 國中的時候,我媽說他要去一趟文具店,我說太好了那順便幫我補充兩支原子筆。我把我習慣用的SKB藍色0.5拿給他,跟他說就買這個一模一樣的兩支,結果他回來的時候自作主張買了兩支完全不一樣的。」
「幹什麼啊!!就買一樣的就好了啊!」叔叔很激動。
「是不是!我氣得要命,他還說我不知好歹那兩支很貴。」
「就不是貴的問題啊!就不是我要用的筆啊!」
「是不是!」
阿姨在一旁非常驚訝地看著我們,不知道是不是第一次發現,先生的要求不是在「挑毛病」,是真的非常需要顧及這些細節。我跟叔叔一人一句,講起那些無法讓別人理解我們時的挫折感。
「我小時候,我媽答應我要買一個玩具給我,但是他忘記了。我超生氣啊,明明說好的,是他忘記了,他就一直說是我無理取鬧,根本不是這樣,我又說不出來,只能拼命用自己的頭去撞牆壁。」
「我也記得這種心情。我不管怎麼解釋,我媽就是沒有要理我,我到最後只能尖叫啊,狂尖叫。」
「還好你沒做出更激烈的舉動。」
「差一點了,就差這麼一點點。」
「真的還好沒有。」
「是啊,如果沒有克制住,拳頭揮出去或者是拿東西自殘,又會變成我們有病,搞不好就被抓去吃藥了。」
「難怪我女兒會說:『我又不是故意要這麼生氣的,我就是會這麼生氣啊。』」在一旁的阿姨很認真的參與,顯然想起個性跟爸爸很像的小女兒。而我也忍不住想起蕃茄,每當他摀著耳朵尖叫,或是大罵「我要殺死你」的時候,他也是沒有辦法讓自己不生氣的吧。他就是會這麼生氣,這麼需要表達,而在這個當下打他罵他甚至是批評他都完全沒有幫助。
大家都沈默了,各自咀嚼著剛剛的對話。
我抬頭看叔叔的側臉,發現他已經蒼老了好多。我突然明白,叔叔從國中就開始交女朋友,翹課,離家出走,跟壞朋友出去玩,淨做那些大人眼中「浪費自己天份」的事,其實是因為他真的渴望被人理解,他一直在尋找一個可以幫助他,讓他知道如何跟自己相處的人。只可惜他的雙親,對他只有辱罵和毆打。
「叔叔,你辛苦了。我從小就認識你,經過這麼多年到現在,我真的有看到你的改變。」
叔叔並沒有回應我,只是盯著自己放在桌上的雙手,喃喃的說:「一定可以的⋯⋯這種複製,一定可以被打破的⋯⋯」
我的內心一震,眼睛開始發熱。這一刻,我知道他想著他自己的孩子,就如同我想著我自己的孩子一樣。我們都希望,這樣的傷害,可以在我們手上就停止。
當天晚上,我做了一個非常清晰的惡夢。
我在學校,做了一件一般大家不會去做的事。我的出發點良善,但是大家的解讀跟我的預期完全相反。我看到大家看著我的眼神越來越不對勁,也一個一個從我身邊躲開。我拼命思考有誰可以幫我保證我的人格,卻想不出任何一個名字。我越來越焦急,想不出有什麼東西可以拿來讓我發「毒誓」,讓大家可以相信我。夢境結束在我走出窗外一躍而下。
我睜開眼睛,覺得極度想吐,然後爆哭。
之前在課堂上曾經提到,當一個人跟自己的傷痕真正接軌的時候,往往會在夢境裡反映出來。這是我第一次經歷。雖然極度不舒服,但是我知道這表示身體在處理我積壓已久的情緒和傷痛,有點開心。
***
第一篇創傷文,沒想到是用這個事件來開頭。也許是因為,經常有人留言問我「該怎麼處理自己的問題」,而我想用這篇文章來表達「沒有正確答案」。
就像我一開始認為可以從阿嬤的記憶裡找到有幫助的東西,但是最後卻是從完全沒想到的叔叔身上發現我們共同的特質,彼此都得到被理解的感受。面對創傷,也許我們終究就只能摸索出一個可能的方向,鼓起勇氣踏出追尋的步伐,然後對接下來的發展保持開放的心胸。
Dr. Gabor Mate在《理解創傷》這個講座裡提到,面對創傷,一個很有幫助的態度就是「感到好奇」。「這件事代表什麼意思?這件事可以教會我什麼?而這時就會產生深刻的同理。」
對我來說,所謂的「make sense of my trauma」就是這件事吧。當我們對自己的傷口感到好奇,我們就會有動機想要「弄清楚」,想要知道更多的細節,而不會一直覺得「夠了沒?這樣可以了吧?」想要趕快抽身。
要從創傷中恢復,找回自己,是一段漫長的旅程,如果沒有辦法享受途中的風景,只是想著如何快點到達終點,很快就會失去耐性而放棄吧。療癒是如此,教養也是如此。
叔叔,我自己,小表妹,蕃茄。這一趟回台,很意外地湊成了家族內的「高敏感一條龍」。看見彼此之間驚人的相似之處,還有經歷那些「我懂」的瞬間,我覺得受到鼓舞。
我想,我願意再繼續往下走一段。
___
歡迎匿名留言:
[蕃茄家塗鴉牆--面對創傷](https://padlet.com/tomatogreenlife/f3xvuqro7m4psz93)
同時也有838部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,Python基礎程式語言應用證照班第10次上課 01_重點回顧與證照508最大公因數 02_證照508最大公因數解答 03_證照510費氏數列題目說明 04_證照510費氏數列無函式解答 05_證照510費氏數列加上函式解答 06_證照602撲克牌總和解答一 07_證照602撲克牌總和解答二改用串...
「遞迴迴圈」的推薦目錄:
- 關於遞迴迴圈 在 Facebook 的最佳貼文
- 關於遞迴迴圈 在 心靈僻靜花園 Facebook 的最佳貼文
- 關於遞迴迴圈 在 李屏瑤 Facebook 的最佳貼文
- 關於遞迴迴圈 在 吳老師教學部落格 Youtube 的最佳貼文
- 關於遞迴迴圈 在 吳老師教學部落格 Youtube 的最佳貼文
- 關於遞迴迴圈 在 吳老師教學部落格 Youtube 的精選貼文
- 關於遞迴迴圈 在 Re: [問題] 關於遞迴加快速度的迷思? - 看板C_and_CPP 的評價
- 關於遞迴迴圈 在 #討論遞迴和FOR的差別 - 軟體工程師板 | Dcard 的評價
- 關於遞迴迴圈 在 迴圈與遞迴 - GitHub 的評價
- 關於遞迴迴圈 在 JavaScript 學演算法(二十二)- 遞迴Recursion - 竹白記事本 的評價
- 關於遞迴迴圈 在 StackOverflowError 遞迴迴圈 - 他山教程 的評價
- 關於遞迴迴圈 在 純靠北工程師, profile picture - Facebook 的評價
遞迴迴圈 在 心靈僻靜花園 Facebook 的最佳貼文
過多的禁止訊息,會形塑一個人的低自尊。
所謂禁止訊息含蓋了控制、指責、羞辱、禁忌,甚至是暴力對待,在一個人五歲前若生活中充滿了過度的禁止訊息,雖然也許行為或情緒控管上會符合教導者所期盼的,但其內心卻早已形成一股低自尊感。而低自尊感所發展出來的適應機制,不是配合就會是反擊。
低自尊感的人因為長期被指罵及羞辱,對自己也會給予內化的負面批評,因此容易被動、消極或逃避承擔責任。然而想要被重視及看見的高自尊需求,就會使這類人不斷地努力證明自己的價值,來獲得他人的肯定及認同。因此若是受到外界的刺激,比如他人的批判或指責時,容易感到恐懼或焦慮而觸發防禦機制,發展討好(配合)或奮戰(反擊)的面向。而不論是討好或是奮戰,在關係中都有挫折及孤單的感受,這更是強化低自尊及無能感。
因此有些人很常對他人做嚴格的評判,實是自己對自己的低自尊感所致。在不自覺的情況下,低自尊感的人很容易發展為權威者。以威權控制來展現力量,這會強化自尊感。然而,權威者勢必會在某個時間點遇上另一個有類同議題的權威者,於是王不見王,一山不容二虎的場面就會出現。
以靈魂層次來看,其實是由另一人以鏡象的方式,替我們演出自己內在權威下的無價值感,及過度補足的權威,目的是讓我們覺察到那個「被激起」所付諸行動的事(金錢,名望、外貌、成就),實是源自於成長過程中缺少了對自我價值的肯定。內心中無法確認自己是被愛、被接納的,所以需要借由外界的可見內容來保證自己是有價值的。
這在一個看似成功的人身上很常見,不斷驅使他們向前突破邁進的,其實是一股「我不夠好」的恐懼。這讓我想起曾有位做前世今生的個案,在累世的輪回裡不斷地經歷證明自己「夠好」的迴圈中,既使是反向操作也還是同件事(aka.反向認同還是一種認同),而此生這股渴望證明自己價值的機制還是存留於細胞記憶中,就算大腦遺忘了,身體則藉由疾病顯現。因此個案有過常發汗、自律神經失調、睡眠障礙、身體緊繃等問題,這些都是身體長期處在備戰狀態下的顯現,而這備戰的努力證明不僅僅只有一世。也因此累世的靈魂傷痛藉由身體在傳遞一個珍貴的訊息:「停止證明,接納真正的自己。」所謂業力疾病,很多時候只是為了要讓我們看見自己累世的習性,進而能成功地超越。
結論就是,把焦點聚回自己內在,覺察到自己的防禦,才能理解背後真正的源頭,從而突破。當我們能真實接納真正的自己時,不要說證明給他人看,就連證明給自己看也都不需要了。價值感因而穩定而不容撼動。
#了解自己的防禦深度探索自我
#歡迎報名靈魂之旅課
#週日晚上登記中
#一對一量身定做課程開放報名
遞迴迴圈 在 李屏瑤 Facebook 的最佳貼文
百年百合|
第一步總是最困難。
林雅婷想了半天,在暱稱欄打出:「Gina」。她不知道為什麼是Gina,她的身邊也不認識Gina,自己的臉好像長得不像Gina?總之在一切的無以名狀中,敷著面膜的、剛滿27歲的林雅婷,在凌晨三點的交友app介面中,決定現在要叫Gina。
接下來應該會簡單一點了。
似乎並沒有。她盯著興趣欄放空,憑直覺寫下,單戀。不對,這不對,她刪掉。母胎單身的她,的確非常非常擅長單戀。如果單戀有錢賺,靠著她一心一德一次一個的虔誠路數,她現在應該是單戀富比世冠軍。又離題了,趕快想興趣!
看書?現代人已經不看書了,而且喜歡這點的人可能是同業,先不要。爬山?聽起來很棒但她其實一年就爬一次左右。美食?會不會被誤會是網美,或者很喜歡去打卡名店。
選擇安全牌好了,她寫「電影」。幹,超普通。
凌晨的自我厭惡迴圈。手機跳出通知,喬的訊息:「還沒刷到妳!」她回:「快了啦不要催(哭臉)。」喬又傳:「我好興奮,剛剛失手按了一堆愛心,妳快來!」附上一張貓咪照,說可以借她用。
終於到達挑選照片的環節,化身成Gina的林雅婷已經有點理智斷線。她的手機裡幾乎沒有自己的照片,倒是充滿機車的照片。真的機車,literally機車。租屋處附近太多小巷弄,如果不拍起來她會忘記把車停在哪。整本相簿,都是各種角度的機車照。她一邊抓狂一邊刪除照片。
喬又來訊:「有貓的照片一百分,真的。」
她心中產生一絲絲的動搖,但這太接近詐騙了。她選了某個工作中的側面照,跟一張風景照,系統要她再傳一張,她迫不得已,傳了貓照。有適合的照片她一定換掉,這是緊急狀況,不算欺騙。最後,她按了送出。
Gina正式上線。
雖然不是她的名字,也不是她的貓。
刷新系統,在方圓3公里內,有100多人。不愧,是永和。叮聲立刻響起,那是收到愛心的通知,她以為是喬,點開看是個陌生的貓照,滑過對方檔案內的系列照片,都沒有臉。不過人在江湖混,也是理解世事的,她給回一個愛心。她沿路看下去,不忘留下愛心的軌跡,將新手上路得到的30個愛心發送完畢。
滑到熟悉的臉孔。喬放的是正面燦笑照,在茫茫貓海中一支獨秀,她沒有愛心可以給喬了,就放在心裡吧。叮聲又響,這次是愛心加訊息,點開是喬:「誰是Gina哈哈哈哈哈哈哈哈哈哈哈哈」她回:「請正確使用標點符號。」喬回:「.」她再回:「請愛用全型句號。」
OK好,林雅婷提醒自己,大家都是大人了,不要意氣用事。今日工事已畢,Gina先退駕,林雅婷轉鬧鐘、睡覺。
*
人性實在他媽的脆弱,她現在已經會照三餐打開app了,謝謝喬大。
午餐時間,趁著一起吃飯的同事去廁所的空檔,她打開調成靜音的app。雖然定位系統不太精確,她還是不敢在公司打開,畢竟她聽過男同志朋友打開app,有人距離0m的恐怖故事。答案揭曉,是同一棟樓的鄰居,坐電梯即可達,產地直送的一炮,還可以回自家洗澡。公司附近又有許多新的側臉、新的貓臉、新的風景照,上線人數頗多。為了不想花錢買愛心點數,她近日決定分配配額,午餐可以給10個愛心,晚餐10個,睡前再10個。
她開始試著主動傳訊,或是在回訊的時候多斟酌,盡量讓話題繼續下去。遇到錯字,嗯,睜一隻眼閉一隻眼。
可是戀愛到底要怎麼開始呢?
林雅婷跟Gina去看了週末的早場電影,播放藝術片的小廳只有她一個人。片尾,韋瓦第的《四季》響起,女主角看著音樂廳另一端觀眾席上哭泣的愛人,她們也許不會再相見了。即使在同婚通過的這年看這部電影,林雅婷仍舊痛哭到有點難克制。她一度以為有別的觀眾,但沒有,她放膽地哭出了一點點聲音。走出戲院,找一家咖啡廳,坐在窗邊發呆,在人潮大批湧進前回家。也許就是這樣了吧,她想。母胎單身的她也想談一場完全燃燒的愛情,若不得,可能就是命吧。
在陽光燦爛的下午,獨居女子把套房的小陽台晾好晾滿,就是此刻能做到的最快樂的事。夜裡她上傳了一張劇照,她其實不太更新app裡的文章,因為覺得沒有人要看長文。迫切地想傾訴給也許不存在的觀眾,想往哪裡空投一封瓶中信,還有什麼比交友app更適合的呢?
隔日一早,她去二刷電影。早場的廳裡還是只有她一人。
這次能夠以全知的心情,重新看待一場戀愛。趁著燈亮之前擦乾眼淚,手機恰好震動。app裡有人回覆文章,她點進那個帳號,kotoko。帳號昨日新增的文章,跟她寫了同一部電影。她傳訊給對方,對方秒回。丟接非常愉快的聊天,是節奏適合的夥伴,互相餵球,有來有往。
「聊多久要約見面?」隔週,她傳訊問了喬。
「妳還沒有跟人約出來嗎?」喬問。
「對。」她答。
「我真的沒辦法了、、、」喬回,「!!!。。。」
「蛤?」
「就是太震驚,難怪妳的曖昧都無疾而終。」
「跟網友見面很緊張欸。還是先交換ig帳號或是line再說?」
「這麼私人的東西妳怎麼會想先給......」喬說完,補上一個傻眼貓咪的gif檔。
「我不懂這些遊戲規則(抱頭)。」
「就照、妳的、節奏吧。」
有天夜裡,kotoko傳了聲音訊息,說晚安。林雅婷也回傳。
「妳的聲音很不像Gina。」kotoko迅速回以文字。
「我亂取的......現在改還來得及嗎......本名實在太菜市場了......」
「我的名字,也很菜市場(握手)。」
app有點卡頓,林雅婷重新開啟。發現kotoko跟自己的距離為0m。很好,又有新bug。
「妳住在哪區啊?永和還是中和?」林雅婷問。
「交界。」
「那好像很近,如果週末有空,要不要約面交?」以Gina之名,她咬牙送出這句,又補充:「上次跟妳講的那本書出了,可以給妳一本。」
「這個要求有點失禮,但可以給我電子檔嗎?我讀電子檔比較方便。」
「好啊。」
她們交換了e-mail,她想著碰面應該是無望。
「但是我很想見妳喔。」kotoko說,「很難以說明我現在的心情。我第一次有這種感覺,心裡覺得很困惑,又覺得,啊,果然是這樣。雖然一直沒有喜歡上誰,但我果然是喜歡女生的。」
林雅婷從床上翻身坐起,打開桌邊小燈,端正看著這段訊息,面紅耳赤不該如何回應。
「哈哈哈哈哈,先這樣,好孩子該睡了,晚安。」語畢,kotoko立即下線。
還沒有正式見面,戀愛早一步開始了。
Gina回到林雅婷,kotoko的本名是王秀琴。她們交換了比app個人檔案更清楚的照片,林雅婷坦承檔案裡的貓不屬於自己,聊起原生家庭,認同的掙扎,如何試著在日常生活或是網路找到同類。
kotoko的家教極度嚴格,甚至還被逼著去相親過許多次,她很少出門,主業是寫網路小說,林雅婷一看,是人氣跟品質都很不錯的百合作者。雖然想過很多次要離家出走,但都失敗。
大抵是熱戀帶來的勇氣吧,林雅婷問,要不要先搬來她的套房一起住。反正白天她都不在家,kotoko可以專心寫稿。之後的事,就邊走邊看。kotoko沉默了很久,說會有點麻煩。林雅婷說沒關係。
「真的有點麻煩,妳會怕的。」kotoko傳訊。
「不怕。」林雅婷回。
「給我兩個星期時間,我看一下日子。」
「?」
「就是,要看一下有沒有比較適合的日子。」
「看妳覺得怎樣比較好。」
林雅婷倒在床上,快樂到傳訊給喬。
「第一次戀愛就同居,好喔,這很女同志。」喬回,加上一個貓跳舞的圖。「她的家人是不是很可怕......妳們到時候小心一點......不要讓他們知道妳們住的地方!!!」
「好!」林雅婷回。
約好搬家的日子,天氣晴。林雅婷早起洗了衣服,想到kotoko說的好日子,google了一下農民曆,果然是好日子。
「宜:嫁娶、開光、祭祀、祈福、求嗣、出行、解除、伐木、入宅、移徙、安床、出火、拆卸、修造、上樑、栽種」
她煮好一壺咖啡,等待kotoko抵達。雖說kotoko說東西很少,她清出了兩層書櫃跟幾個儲存格,如果還需要什麼,再去採買就是了。約定下午三點,她走下樓,沒看到人,於是她走到住家大門外窄窄的小巷,各種聲響湧入,但巷裡沒人。
「妳到了嗎?」她傳訊問。
「往前走。」kotoko回。
林雅婷往前走了幾步,還是沒人,在窄窄的,不容會車的,以各種方式斜插著機車的日常小巷裡,道路正中間,有點突兀地,放置著一個紅包袋。太陽還很烈,林雅婷剛下樓就出了薄薄的一身汗,說不上來,她突然有一種涼意。
而手機訊息又來了。
「如果方便的話,請妳撿起來。」kotoko說,「拜託了。」
林雅婷不確知自己為什麼會這樣做,有機車正要騎進小巷,她突然感覺,不想要那個紅包被輾過。她快步往前衝,機車騎士罵了一句髒話,避開她們快速騎走了。
她蹲下,以奇特虔誠的心情,輕輕捧起那個紅包袋。
袋裡有一小撮收束好的頭髮,旁邊有寫著數字的紙張,八字的主人,名為王秀琴。她覺得天旋地轉,一時站不起來,乾脆坐在地上。
「對不起。」kotoko說,「如果不方便,真的沒有關係。」
訊息持續傳來,她沒有力氣再往下讀。她就坐著,柏油路的熱氣漫漫蒸暖她的尾椎。旁邊有人走來,出聲叫喚,她想說她沒事,開嘴了卻沒有聲音。聲音呢?她想。原來要用力才能讓人聽到自己的聲音。
她抬頭看,一對老夫妻站在她面前。她還是沒找到聲音,板著臉的老先生,將她手上的紅包跟紙片一把搶走。他們快步離開,老太太又回過身,拿走那撮頭髮。
再回神,有台車要開進小巷,按了喇叭看她不動,倒退開走。林雅婷坐在路中間,尚有點腿軟,所以她叫了uber,出發去找喬。
喬跟幾個朋友在東區聚餐,好心讓她加入,大家以為林雅婷初戀即失戀,呵護她一整個晚上。有熱鬧的餐廳當背景音,她打開訊息,裡面是滿滿的道歉。她想想也是,要講出這件事,可能比出櫃還難。
喬的朋友恰好因為換工作,去找通靈人算運勢。席間的話題轉為各種神秘故事。
林雅婷趁著空檔開口:「你們覺得同婚難還是冥婚難?」
有人率先回:「當然是同婚,今年五月才過的同婚,冥婚已經有幾千年歷史了吧,當同志比當鬼難多了。」
到家之後,小套房跟出門前一模一樣,咖啡早就變冷了。她想起自己跟家人出櫃的艱難過程。跟別人說自己是女同志難?還是跟別人說自己是女鬼難?好像很難分辨。
她坐回桌前,傳訊問,那現在該怎麼辦?妳爸媽好像不同意?
秀琴幾乎秒回,「我會繼續跟他們溝通......還有,那是我弟弟跟弟媳。」
林雅婷好像懂了什麼。
「妳幾年次?」
「37年次。」
「!」
「可以算是.....19歲吧......我也不知道......」
「星座呢?」
「我們那時候報戶口不準,冬天生的,可能是天蠍或是射手......」
「妳答案盡量講長一點。」
「為什麼?」
「不然我會覺得自己好像在玩碟仙。」
「哈哈哈哈哈哈哈妳很煩欸。」
林雅婷泡了一壺新的茶,刷新app,發現秀琴在距離自己略遠的地方。
「好啦,那接下來怎麼辦?家人好像不讓妳搬出來住。」
「妳不怕嗎?」
「說真的嗎?」
「嗯,請妳一定要對我說真話。」
「不怕。」
「我會去處理。以前沒有人在聽我講話,但現在不太是這樣。」
「會怎樣?」
「讓他們沒辦法睡覺。」
「有用嗎?」
「不然妳以為我怎麼拿到智慧型手機的。」
「原來真的可以用......」
週一到來,林雅婷如常上班,抽空跟秀琴傳訊。她本來想訂做一個紙紮電腦給對方,否則在手機寫稿太傷眼了,轉念一想,可能秀琴沒有這方面的困擾。不如到時候再觀察看看。
又是一個好日子,這次她穿得稍微正式,抵達秀琴家人指定的咖啡廳。來的是秀琴的弟弟弟媳,還有他們的女兒。弟弟的臉色不善,弟媳保持沉默,女兒反而非常親切,一把握住林雅婷的手,大聲地喊姑姑。新認的姪女約莫跟林雅婷的母親年紀相仿,她立刻請對方直呼名字就好。
談的事項很簡單,一切從簡,林雅婷收下原本的紅包,此次還加上幾張秀琴照片。
不是賣女兒,加上雙方都是女方,沒有嫁妝或是聘金的疑慮。弟弟拿出一小盒,內有一枚金戒指,是當初媽媽做好,想給女兒出嫁用的,就一併交給雅婷。她沒有刷新app看位置,但她能感覺秀琴就在旁邊那個特意空出的位置。最末,她跟姪女交換了line,姪女遞出一個紅包,說是簡單的賀禮,希望雅婷務必收下。
紅包跟戒指的重量都很輕,接近沒有存在感。她回到家,將這些物件放在櫃子上。然後打開前幾日買好的金紙爐,將她精心挑選的幾本書焚燒殆盡。
「謝謝!!!我已經好久沒讀到紙本書了!!!」秀琴說。
接近午夜,秀琴還沒有抵達。也許還在跑行政程序吧,畢竟,同婚是一件很新的事。
林雅婷坐在小沙發,打開新買的氣泡酒,幫秀琴多倒了一杯。接著轉開電視,想找部可以下酒的影集,有雙手輕輕覆蓋在她按著遙控器的手上,跟氣泡酒一樣清爽冰涼,觸感柔軟而實在。
遞迴迴圈 在 吳老師教學部落格 Youtube 的最佳貼文
Python基礎程式語言應用證照班第10次上課
01_重點回顧與證照508最大公因數
02_證照508最大公因數解答
03_證照510費氏數列題目說明
04_證照510費氏數列無函式解答
05_證照510費氏數列加上函式解答
06_證照602撲克牌總和解答一
07_證照602撲克牌總和解答二改用串列
08_證照604眾數建立串列與新增
09_證照604眾數用COUNT計算次數
完整教學
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/g/tcfst_python_2021_2
證照基礎程式語言 (Python 3)證照
Python 第1類:基本程式設計
技能內容:變數與常數、指定敘述、標準輸入輸出、運算式、算術運算子、數學函式的應用、格式化的輸出Python 第2類:選擇敘述
技能內容:if、if...else、if…elifPython 第3類:迴圈敘述
技能內容:while、for…inPython 第4類:進階控制流程
技能內容:常用的控制結構、條件判斷、迴圈Python 第5類:函式(Function)
技能內容:函式使用、傳遞參數、回傳資料、內建函式、區域變數與全域變數
上課用書:
Python 3.x 程式語言特訓教材(第二版)
作者: 蔡明志, 財團法人中華民國電腦技能基金會
出版社:全華
出版日期:2018/12/20
定價:490元
吳老師 110/9/14
EXCEL,VBA,Python,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
遞迴迴圈 在 吳老師教學部落格 Youtube 的最佳貼文
Python基礎程式語言應用證照班第10次上課
01_重點回顧與證照508最大公因數
02_證照508最大公因數解答
03_證照510費氏數列題目說明
04_證照510費氏數列無函式解答
05_證照510費氏數列加上函式解答
06_證照602撲克牌總和解答一
07_證照602撲克牌總和解答二改用串列
08_證照604眾數建立串列與新增
09_證照604眾數用COUNT計算次數
完整教學
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/g/tcfst_python_2021_2
證照基礎程式語言 (Python 3)證照
Python 第1類:基本程式設計
技能內容:變數與常數、指定敘述、標準輸入輸出、運算式、算術運算子、數學函式的應用、格式化的輸出Python 第2類:選擇敘述
技能內容:if、if...else、if…elifPython 第3類:迴圈敘述
技能內容:while、for…inPython 第4類:進階控制流程
技能內容:常用的控制結構、條件判斷、迴圈Python 第5類:函式(Function)
技能內容:函式使用、傳遞參數、回傳資料、內建函式、區域變數與全域變數
上課用書:
Python 3.x 程式語言特訓教材(第二版)
作者: 蔡明志, 財團法人中華民國電腦技能基金會
出版社:全華
出版日期:2018/12/20
定價:490元
吳老師 110/9/14
EXCEL,VBA,Python,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
遞迴迴圈 在 吳老師教學部落格 Youtube 的精選貼文
Python基礎程式語言應用證照班第10次上課
01_重點回顧與證照508最大公因數
02_證照508最大公因數解答
03_證照510費氏數列題目說明
04_證照510費氏數列無函式解答
05_證照510費氏數列加上函式解答
06_證照602撲克牌總和解答一
07_證照602撲克牌總和解答二改用串列
08_證照604眾數建立串列與新增
09_證照604眾數用COUNT計算次數
完整教學
http://goo.gl/aQTMFS
吳老師教學論壇
http://www.tqc.idv.tw/
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/g/tcfst_python_2021_2
證照基礎程式語言 (Python 3)證照
Python 第1類:基本程式設計
技能內容:變數與常數、指定敘述、標準輸入輸出、運算式、算術運算子、數學函式的應用、格式化的輸出Python 第2類:選擇敘述
技能內容:if、if...else、if…elifPython 第3類:迴圈敘述
技能內容:while、for…inPython 第4類:進階控制流程
技能內容:常用的控制結構、條件判斷、迴圈Python 第5類:函式(Function)
技能內容:函式使用、傳遞參數、回傳資料、內建函式、區域變數與全域變數
上課用書:
Python 3.x 程式語言特訓教材(第二版)
作者: 蔡明志, 財團法人中華民國電腦技能基金會
出版社:全華
出版日期:2018/12/20
定價:490元
吳老師 110/9/14
EXCEL,VBA,Python,自強工業基金會,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境
遞迴迴圈 在 #討論遞迴和FOR的差別 - 軟體工程師板 | Dcard 的推薦與評價
有什麼是遞迴可以做FOR不能做,為什麼考試這麼愛考遞迴,可是明明就不常用- 程式語言. ... <看更多>
遞迴迴圈 在 迴圈與遞迴 - GitHub 的推薦與評價
同樣也可以使用Java 語言的for Loop 來將尾端式遞迴轉換成一般的程式語言常常使用的「迴圈」。 public class Recursive { public static void main(String args ... ... <看更多>
遞迴迴圈 在 Re: [問題] 關於遞迴加快速度的迷思? - 看板C_and_CPP 的推薦與評價
※ 引述《crazycat2 (浪無定所)》之銘言:
<deleted>
: 但因使用方式,還是以遞迴為主。
: 不經好奇若將遞迴改成static或是marco會更快嗎?
最近也對遞迴有些疑惑, 趁此機會來跟大家討教一下, 以下是我自己的觀點跟想法:
遞迴與迭代這兩個觀念可以在三個層次上遇到:
1. 抽象層次: 遞迴關係 (recurrence) 與迭代關係 (iteration)
2. 語言層次: 遞迴函式呼叫 (recursive function call) 與迴圈 (looping)
3. 底層實作: 呼叫 (call) 與跳躍 (jump) [一般呼叫的實作會包括跳躍]
其中這三個層次有一個直觀的串連關係。例如, 如果有一個題目在抽象層次具有遞迴關
係, 我們就可以依照該遞迴關係去寫語言層次的遞迴函式並呼叫他。這遞迴函式呼叫在
編譯時, 編譯器可以直觀的使用底層呼叫 (call) 類的指令去實作。遞迴關係、遞迴函
式呼叫與底層呼叫這三個不同層次的詞可以有這樣一個直觀的串連關係。相對地,迭代
關係、迴圈與跳躍也可以發現有類似的串連關係。只是這些串連關係並不具有強制性,
像是迴圈也可以用來實作遞迴關係,跳躍也可以用來實作遞迴呼叫,只是可能會有一些
其他的限制或多餘的步驟。不過大致上我們可以具有一個選擇的標準:我們希望在語言
層次可以寫簡短且容易了解維護的程式碼, 同時希望在編譯後於底層實作上具有高的運
作效率。
首先,要認知在這樣的前提上,已經接受在抽象層次上我們要解決的題目是具有直觀的
遞迴關係的,要不然我們沒必要討論這個問題 (就不要用遞迴就好)。 常見的例子像是
要求得 Fibonacci 數列中某項的值。Fibonacci 數列最直觀的定義就是使用遞迴關係
來表示:
f(n) == f(n-1) + f(n-2), (n > 1) [遞迴關係]
f(n) == n , (n <= 1) [邊界條件]
因為具有遞迴關係,所以在語言層次上我們依照這樣的遞迴關係去定義一個遞迴函式並
呼叫是再直觀不過的實作方法:
int f(int n) {
if (n <= 1) return n; // [邊界條件]
else return f(n-1) + f(n-2); // [遞迴關係]
}
但是我們也知道 Fibonacci 數列中每一項的值可以使用迴圈型的演算法算出,因為遞
迴關係可以反向地看成是迭代關係:
n == f(n) , (n <= 1) [初始條件]
f(n-1) + f(n-2) == f(n), (n > 1) [迭代關係]
所以當我們說『遞迴的效率比迴圈差』這個論述時,指的是在語言層次使用遞迴函式呼
叫實作會比使用迴圈實作效率要來得差,而不是說具有遞迴關係的題目本身就象徵著效
率不會好。
那為什麼在語言層次使用遞迴函式呼叫實作感覺上會比使用迴圈實作差?
最常見的範例就是跟計算 Fibonacci 數列的某項值時一樣,遞迴函式呼叫時會『重複』
呼叫具有相同參數值的同名函式。例如要計算 f(10) 時, f(8) 就會在計算 f(10) 跟
f(9)時都被呼叫並重新計算一次。這個會造成效率指數性的下降,也就是我們直觀地使
用遞迴函式呼叫去實作遞迴關係時踩到的效率陷阱。
那為什麼迴圈會是擺脫這個效率陷阱的救星呢?
// 下面的程式碼為了做好的對應,我並沒做最簡化
// 如果要求取 f(10) 的值:
int main() {
int F[10+1];
for (int i = 0; i <= 10; ++i) {
if (i <= 1) F[i] = i;
else F[i] = F[i-1] + F[i-2];
}
// 此時 F[10] 的值就是我們要的 f(10) 的值
printf("%d\n", F[10]);
return 0;
}
這個迴圈確確實實不多不少執行了 10+1 次,看起來要比使用遞迴函式呼叫少執行了很
多次計算 (因為我們沒有重複計算到) 。但是關鍵其實是因為這裡偷偷做了一個類似快
取的機制 (空間換取時間)。也就是說,我們也可以依樣畫葫蘆地把遞迴函式呼叫改成:
int f(int n, int *F, bool *visited) {
if (visited[n]) return F[n];
visited[n] = true;
if (n <= 1) {
F[n] = n;
} else {
F[n] = f(n-1, F, visited) + f(n-2, F, visited);
}
return F[n];
}
int main() {
int F[10+1];
bool visited[10+1] = {};
printf("%d\n", f(10, F, visited));
return 0;
}
我們維持了語法中的遞迴函式呼叫機制,並且通過類似快取的機制避免了重複計算,但
是也必須為此付出一些代價:我們需要記錄是否已經計算過 (visited)。但是相對地,
為什麼迴圈可以不用跟這裡一樣要付出記錄的代價?原因是因為遞迴關係如果要有解 (
也就是遞迴函式呼叫如果要確定能夠結束) ,那所有遞迴函式的呼叫可以依照呼叫者跟
被呼叫者的關係畫成一個樹的結構。我們只要確保在樹枝中比較接近樹葉的函式呼叫比
比較接近樹根的函式呼叫先計算,那最後的結果就會正確。也就是說,我們可以將他寫
成迴圈形式而不用記錄執行過哪些函式是因為存在一個計算的順序可以確保過程中被呼
叫者的值會比呼叫者先被算出來。例如只要確保迴圈中 f(6) 比 f(7) 跟 f(8) 先求出
就可以了。
那遞迴函式呼叫難道就不能做嗎?顯然不是:
void f(int n, int *F, int i = 0) {
if (n < i) return;
if (i <= 1) F[i] = i;
else F[i] = F[i-1] + F[i-2];
f(n, F, i+1);
}
int main() {
int F[10+1];
f(10, F);
// 此時 F[10] 的值就是我們要的 f(10) 的值
printf("%d\n", F[10]);
return 0;
}
(確實有更簡單的方式來寫這個題目,不過跟這裡要討論的差異無關就不細寫。)
如果這樣寫的話,在語言層次,我們保留了遞迴函式呼叫的機制,但似乎有一些多餘的
代價,只是並不那麼地明顯,至少直觀上沒有顯著會慢很多的理由。此時我們可以開始
討論底層實作的層面。在具有遞迴函式呼叫的程式碼經過編譯器編譯後,一般的硬體結
構要實作呼叫 (call) 會比單純的跳躍 (jump) 要複雜,簡單的理由就是每次呼叫要記
得回傳時回來的位址,還有要儲存目前函式內部變數的狀態,以免到時回傳回來後原本
的資料都遺失了。因為這種遞迴的形式是將遞迴呼叫放在遞迴函式定義的最後一行 (且
只有一次),也就是所謂的尾端遞迴 (tail recursion) 或尾端呼叫 (tail call) 。事
實上我們不必去儲存每次呼叫回傳時要回來的位址,因為最後回傳時都會經過一連串的
回傳後回傳到第一個呼叫者,所以我們只需要記得第一個呼叫者的位置。同時我們也不
用在呼叫後還儲存著目前函式內部變數的狀態,因為回傳回來後除了繼續回傳回去也不
會做任何事。
現代的編譯器在你適當的表示成上述尾端呼叫的程式碼時,可以幫你做尾端呼叫最佳化
(tail call optimization),避免在底層實作時使用呼叫 (call) ,所以原則上可以做
到跟迴圈幾乎無差別的效率。甚至如果你迴圈寫得不好 (例如不良的使用迭代器), 反
而寫得好的遞迴會比較快。
以上是假設遞迴關係本身是獨立的計算,不牽涉到外部操作 (例如使用 cout),也就是
我們不用去保證不同樹枝之間呼叫的先後關係。這在實務上其實很少遇到,一般我們遇
到的是像漢諾 (Hanoi) 塔這類的遞迴關係,也就是遞迴函式執行的順序會影響最後的
結果。所以為了保證執行順序,在使用迴圈實作遞迴關係時,我們會需要使用類似堆疊
的結構來模擬,此時遞迴跟迴圈的效率優劣就更難說,反而會與你是否有好好的寫程式
碼有比較大的關係。此外,用迴圈實作遞迴關係是在我們對於參數值有個好的順序 (例
如從 0 算到 10) 的情況下,才容易使用類似快取的機制。如果參數空間太大,而實際
上使用的參數值組合不多,快取機制會更難做而沒效率。不過這都是後話, 我想我有空
再補完.....
結論,在語言層次實作遞迴關係時用遞迴函式呼叫跟迴圈哪個方式好還是跟你的寫法和
編譯器有關。用迴圈實作會 "大幅地" 改進效率通常是因為我們偷偷在其中增加了其他
機制與特性,而這些機制與特性其實遞迴函式呼叫也都可以用只是你沒用,也就是你用
了一個比較聰明的方法去欺負一個比較簡單的方法。
--
寫一寫發現好像大部分是常識, 我錯了...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.217.49
... <看更多>