拿个简单易懂的生活举例,就骂人喷子?首先我没喷,第二,你先骂人
你这么说就好像是,去朋友家做客,不喜欢朋友家里的装修风格,要求换成自己喜欢的,因为说不定你去住一两天呢
我刚好相反,记得在公司地毯不小心洒了外卖,好像一个月内都有那个味,要是办公室空气流通不好,感觉到处都是灰尘
#23 楼 @darkbaby123 用 Protocols
好像也要一条条地写每一个判断的 function, 就是不想一条条地写所以用一个循环,我这里纠结的地方在于
defmodule Mymacro do
defmacro warp(type) do
quote do
def typeof(x) when unquote(:"is_#{type}")(x), do: unquote(type)
end
end
end
defmodule Util do
import Mymacro
warp("function")
end
写在循环里就不行,就很纳闷:
@chenge 实现这样的功能,只是用宏来写循环了
defmodule Util do
def typeof(x) when is_function(x), do: "function"
def typeof(x) when is_nil(x), do: "nil"
def typeof(x) when is_integer(x), do: "integer"
...
end
Util.typeof 999
#=> "integer"
我想用 Macro 写个 typeof 的函数,但总是报错,这段代码要怎么改。。哎特 all
defmodule Mymacro do
defmacro warp(type) do
quote do
def typeof(x) when unquote(:"is_#{type}")(x), do: unquote(type)
end
end
end
defmodule Util do
import Mymacro
types = ~w[function nil integer binary bitstring list map float atom tuple pid port reference]
for type <- types do
warp(type)
end
end
lz 已经横屏了
@nong 不知道为什么,基本不认同你所有观点 感觉写 ruby 的不用 coffeescript 就不会写 js 了
后端 + 会点 js css 就叫全栈了?