默想這一點,並瞭解像~
和%
運營商:
ROCK_PAPER_SCISSORS = %w[Rock Paper Scissors]
def play(i)
p = ROCK_PAPER_SCISSORS.index i
response = rand(3)
win_lose_draw = if (p == response)
:Draw
else
if (p && p == -~response % 3)
:Win
else
:Lose
end
end
ROCK_PAPER_SCISSORS[response] + ",#{ win_lose_draw }"
end
puts play("Rock")
在我的奧平無論是誰寫的原稿都迷戀於編寫難以理解和難以理解的代碼,認爲它是男子氣概,或者是在試圖寫一些稍微混淆的東西。無論如何,不要試圖模仿這個例子,特別是在Ruby中。
在C和Perl中,這樣的事情很常見,儘管沒有任何好處。在「過去的日子」裏,回到鉛筆之前,我們使用泥板和棍棒進行編程,因爲編譯器無法優化他們的出行方式,所以人們嘗試編寫「密碼」來提高性能。編寫嚴密的代碼要比簡潔和模糊得多。一些被稱爲效率的東西也應該被涉及到,但這往往被拋在後面。
今天的編譯器和解釋器要聰明得多,所以編寫這樣的代碼背後的原因基本消失了。人們喜歡將晦澀難懂的代碼作爲一種挑戰,以儘可能在儘可能小的空間內寫入某些功能,但這不是在真正的編程環境中做的事情,在這種環境中,團隊成員需要閱讀和理解它特別是在他們出城後的凌晨3點,接到一些恐慌的系統管理員的電話。
您應該添加空格,以便代碼不太可怕。當然,空格不會修復它,因爲誰寫這顯然不關心可讀性,但它至少可以幫助您識別正在使用的操作員。另外,'+',#'不是符號,' - 〜c%3'也不是。再次,加上空格,並且知道你的操作符。 – nil
這是可怕的書面代碼 –