1樓:Aetherus
我學Elixir從來都沒被它的語法困擾過,也許因為我是個Rubyist的關係。反而倒是Erlang的語法讓我有點困惑,比如什麼時候用逗號,什麼時候用句號,什麼時候用分號,還有map的字面值和模式長得不一樣之類的,不過我覺得這些都是小事,幾輪實操下來不會也會了。
說Elixir語法困惑的,我覺得更多的只是為自己不想學Elixir找乙個藉口而已。
2樓:qgymje
Elixir雖然是基於BEAM,但是設計思想是融合了clojure. 困惑語法是表面現象,本質上是不理解語言的設計思想和想要解決的問題領域。
3樓:Wang Namelos
Elixir和Erlang本質上是一樣的。如果因為Elixir令人困惑選別的可能就可惜了。
不過我也覺得Elixir沒Erlang語法容易理解……感覺Elixir介於Erlang和Lisp中間,然後套了層Ruby的殼。
結果得到的語法沒有以上三者任何乙個好看……Anyway好用就行了。
4樓:Cinder Scholar
語法在設計上(包括介面命名)有意的像ruby靠近創始人原來是搞ruby的還是rails hero
但是核心思想卻是函式式的和ruby想去甚遠估計這才是讓人confusing的地方
語法不足為奇
5樓:街霸蛙
這事兒是這樣,想學elixir,erlang是必須學的,否則光學elixir毫無意義。。erlang語法那麼簡單,找個比erlang更不confusing的語言也挺難吧?不然你看看c?
perl?
6樓:鄭偉
迷惑的應該不是語法吧。
我真正學過的第乙個語言是 Ruby, 覺得 Ruby 的方方面面很親切,很習慣,
但是我知道很多人把 Ruby 中很多普通、自然的東西描述的很玄幻。
迷惑的是某些更深層次的東西,我覺得可以用 style, philosophy, best practice
來描述更加有意義。
ps: Elixir 算是 Rubyist 的福利了。 會了 Ruby, 懂點遞迴,Elixir 就可以開始搞了,應該無壓力。
7樓:祖與佔
謝 @bhuztez 邀
說 Elixir 語法太難理解有點過分, confusing 倒是有一點點.
Elixir 皮是 Ruby, 骨子裡是 Lisp, 肌肉是 Erlang. 這種語言的特點是語言由好些基本的 special form 構成, 別的東西用巨集在上面構建各種語法元素
理解 Elixir 的語法, 注意幾個點就好
1. 函式呼叫的括號在多數的情況可以省略
to_string
1# => "1"
# 不能忽略的情況: 匿名函式(fn
x->x+
1end)1
# 掛(fnx
->x+
1end).
(1)# => 2
# |> 運算子右邊的函式呼叫裡不能忽略括號, Elixir 1.2 後會報 warning
1|>(&
(&1+1
))# 掛
1|>(&
(&1+1
)).()# => 2
2. keyword lists 語法糖, keyword list的花括號跟方括號在某些情況是可選的
list=[,
]# => [a: 1, b: 2]
# 構造的語法糖
list==[
a:1,
b:2]
# => true
iffalse,do
::this
,else
::that
# => :thatif(
false,[
do::this
,else
::that
])# => :that
# 微妙的坑:
%# => %
%# => %
%# => %
最後, Erlang 的 Parse Transforms 能方便的搞DSL木?
回頭再更 (
如何看待因為有人遲到而向其它按時到了的人發脾氣的現象?其中蘊含了什麼心理?
優悠 嗯倒真是有很多這樣的情況存在,我認為一是領導情緒的控制,突然發現缺很多人情緒自然會很生氣,不發洩出來也很難受 二是對其他人的提醒作用,如果這麼多人違反紀律領導看到還跟沒事人一樣,那其他人會怎麼想,肯定會想下次不來也沒關係,領導都不管,對不對?三是對沒有來到的人也是警示作用,不可能大家不告訴違反...
如何看待 Pirah 語沒有數字?
jointer 有個少和多就可以表示數字了,排列組合即可。設少 1 多 2 空位 0,則是3進製。根據少和多排列的位置就可以表示任何整數了,十位的少表示例如1到12可表示為 1 空空少 2 空空多 3 空少空 4 空少少 5 空少多 6 空多空 7 空多少 8 空多多 9 少空空 10 少空少 11...
如何看待《創造101》陳芳語淘汰?
鵝廠 創造101選手陳芳語因為哮喘問題不能繼續比賽,所以我們聯絡後台工作人員將她的排名下調,以保證她不用在後續節目中費心。對我們在上船前,已經將她和喜歡她的剪輯師攝影師扔進了錢塘江裡,對,所以她不在船上沒有鏡頭是正常的,不要擔心。 創造101女團最終需要的是可以用各種方式和特色吸引流量的選手,芳語實...