codecamp

Elixir if和unless

除了和,Elixir也提供了和这两个宏,让你在只需要检查一种情况时使用:

casecondif/2unless/2
iex> if true do
...>   "This works!"
...> end
"This works!"
iex> unless true do
...>   "This will never be seen"
...> end
nil

如果传送给的情况返回值是或,中的代码就不会执行并只返回。正相反。if/2falsenildo/endnilunless/2

它们也支持块:else

iex> if nil do
...>   "This won't be seen"
...> else
...>   "This will"
...> end
"This will"

 注意:在这里和是被当作宏来执行的;而非其它许多语言中一样作为特殊的结构体。你可以在模块文档中查看说明文档和的源代码。模块中定义了诸如之类的操作符和'if_function/2'之类的函数,它们全都默认自动导入并在你的代码中可用。if/2unless/2Kernelif/2Kernel+/2


Elixir cond
Elixir do/end块
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Elixir 基本操作符

Elixir 二进制,字符串和字符列表

Elixir 类型规格与行为

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }