Join the official community for Google Workspace administrators In the Google Cloud Community, connect with Googlers and other Google Workspace admins like yourself. Participate in product discussions, check out the Community Articles, and learn tips and tricks that will make your work and life easier. Be the first to know what's happening with Google Workspace. ______________ Learn about more Goo
Since Elixir 1.2, Elixir has had the with macro to assist with more expressive control flow. Instead of deeply nested case and if/else blocks, you can have one single with block to express the same logic but in a more elegant and readable way. I’ll explore how you can utilize with to improve your code. with Basics with works by taking a list of clauses to be matched in order. If all clauses match,
useの使い方がすんなり頭に入ってきます。レガシー!と言われるPerlなのに新しい言語で同じような記法を見つけるとなんだか嬉しいやら感慨深いやら不思議な気持ちになりました。 話はこれだけなのですが、小ネタすぎるのでuseに絡めて、import/exportネタでも。 (以下完全にElixirネタ) importディレクティブ Elixirにはimportディレクティブというのがありまして、指定モジュールのpublic関数にアクセスできるようになります。 importは名前どおり、Perl定番のExporterとは真逆のものです。 Exporterはライブラリ側が何をexportするのかを指定していましたが、importはライブラリを読み込む側が使うものになります。
Elixirのマクロ、便利ですよね。 使ってますか?使ってる?じゃあ今すぐ 使うのをやめろ。 マクロの良くない点 一言で言えば 何が起きるか想像できない という点に付きる。 defmodule HelloWorld.Router do use HelloWorld.Web, :router pipeline :browser do plug :accepts, ["html"] plug :fetch_session plug :fetch_flash plug :protect_from_forgery plug :put_secure_browser_headers end pipeline :api do plug :accepts, ["json"] end end こういう pipeline マクロと plug マクロの呼び出しがある時、これによって何が起きるか想像できるだろうか
TL;DR: Elixir - a language that positively celebrates the use of macros I’ve been picking up some Elixir so I can try my hand at a new project I want to build using the Erlang/OTP ecosystem. Elixir uses lots and lots of compile-time macros. The language’s pervasive use of macros is unprecedented in my experience. Most (all?) of the core features of Elixir (its special forms) are (non-overridable)
LispのS式の生涯で重要な瞬間は3つ,すなわち読み込み時,コンパイル時,実行時だ. 関数を操れるのは実行時だ. マクロによりプログラムをコンパイル時に変換する機会が得られる. この章ではリードマクロを扱うが,これは読み込み時に機能するものだ. マクロ文字 Lispの基本的思想に従い,リーダは大幅に制御することができる. リーダの動作は完全に実行中の変更が効く属性値と変数で制御できる. リーダは複数の段階でプログラムできる. 一番容易に動作を変更する方法は,新しいマクロ文字を定義することだ. マクロ文字とはLispのリーダから特別な扱いを要求する文字だ. 例えば小文字のaは普通は小文字のbと全く同じ扱いだが,開き括弧は少々異なる. 開き括弧はリストの読み込みが開始したことの印だ. そういった文字にはそれぞれ関数が関連付けられており, それがLispのリーダにその文字を読み込んだ際の指示を与
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く