Lambda 運算式?運算式 Lambda?

我們知道,lambda expression 的寫法有兩種形式:expression lambda 和 statement lambda。我嘗試按照微軟官方的譯法,將 "expression" 一律譯為「運算式」,可是讀起來總覺得挺彆扭。

例如:
Lambda 運算式有兩種形式,一種叫做運算式 lambda,另一種叫做陳述式 lambda。
 這不禁讓我想到類似的句型:
斯斯感冒膠囊有兩種,一種是感冒斯斯,一種是鼻炎斯斯。」
如果這樣會不會好一點:
Lambda 表示式有兩種形式,一種叫做運算式 lambda,另一種叫做陳述式 lambda。
或者乾脆一點,就說「斯斯有兩種」:
Lambda 有兩種形式, 一種叫做運算式 lambda,另一種叫做陳述式 lambda。
怎麼老是為這種問題傷腦筋... Orz

後記: 若決定譯為中文,我最終的選擇可能會是:
  • Lambda expression - Lambda 表示式。理由:lambda 語法的一般統稱。
  • Expression lambda - 運算式 lambda。使用此形式所撰寫的程式碼,我傾向叫它「lambda 運算式」。
  • Statement lambda - 陳述式 lambda。使用此形式所撰寫的程式碼,我傾向叫它「lambda 陳述式」。
  • Expression tree - 傾向直接用原文,因為「表示式樹」、「表示式樹狀結構」唸起來都不太順口(我可能需要多唸幾遍...表示式樹、表示式樹、表示式樹... XD)

6 則留言:

  1. expression 跟 statement 我傾向不譯 ...

    回覆刪除
  2. 這也是個不錯的選項。Thanks :)

    回覆刪除
  3. 我都講「Lambda表示式」可以包含運算式及陳述式
    可是我忘了從哪聽來的Orz

    回覆刪除
  4. 喔...終於找到和我一樣習慣的人了。其實我先前在在部落格文章<C# 筆記:重訪委派>裡面就是採用「lambda 表示式」。只是看到微軟官方的翻譯,仍不免掙扎要不要從善如流。

    回覆刪除
  5. 微軟官方翻譯的譯者大概想法就是只要碰到 expression 就翻運算式而已,意思對不對,順不順他也不理。所以也不用太拘泥,用自己喜歡的說法就好。很多專有名詞的翻譯本來就沒有對錯問題,只有習慣問題。比如說 "row" 到底要翻 "行" 還是 "列"。

    回覆刪除

技術提供:Blogger.
回頂端⬆️