は、私が最初に末尾のエクスクラメーションマーク/バン(!)(Incoming Eventsセクションで)フェニックスのチュートリアルを通過しながら、エリクシル・バン・ファンクションとは何ですか?
def handle_in("new_msg", %{"body" => body}, socket) do
broadcast! socket, "new_msg", %{body: body}
{:noreply, socket}
end
末尾の感嘆符はどういう意味を持つ関数に気づきましたか?それは何かをしますか?私は周りを探索していましたが、私は正しい言葉を使っているかどうかはわかりません。これまでのところ、この関数は慣習としてのみ失敗するとエラーを発生させますが、常にそうであるように見えます。
ザ・のみ、私はデイブ・トーマスによって「プログラミングエリクシール」に表示され、それを参照して言及:
Identifiers in Elixir are combinations of upper and lower case ASCII
characters, digits, and underscores. Function names may end with a
question mark or an exclamation point.
も
the documentationで、それは言及:これがある場合は、これらの
Notice that when the file does not exist, the version with ! raises an
error. The version without ! is preferred when you want to handle
different outcomes using pattern matching...
どちらが説明他のエリクリストや錬金術師、あるいは何でも使用できます。助けてください。
フェニックスの出身の良い例を提供してくれてありがとう。それは私の質問に完全に答えます。私はあなたの答えと私が選んだものの間に詰まっていました。私は、私はエリクサー規則フェニックスよりもいくらかに興味がある、それは残念ながら私の質問では発現していない '!'と、フェニックスの使用に焦点を当てたという理由だけで、このいずれかを選択しないことを選びました。 – Marc
私は自分の言葉を食べるつもりです - そして、@MoxleyStrattonが述べたように重要な詳細を指しているので、あなたの答えを受け入れます - "ファンクションの2つのバージョンがある - (バングバージョン)、そうでないもの " – Marc