Q
轉換布爾在靈藥
5
A
回答
8
我不知道的一個內置的轉換功能這一點。您如何構建自己的解決方案取決於您想要實現的目標。考慮您的實現:
def boolean_to_integer(bool) do
if bool, do: 1, else: 0
end
如果你還記得,除了nil
和false
所有值計算爲在條件表達式的情況下true
,這具有這樣的效果
iex> boolean_to_integer(0)
1
如果這應該是一個問題,您可以使用只接受布爾值的多分句功能:
def boolean_to_integer(true), do: 1
def boolean_to_integer(false), do: 0
iex> boolean_to_integer(0)
** (FunctionClauseError) no function clause matching in MyModule.boolean_to_integer/1
iex:42: MyModule.boolean_to_integer(0)
當然,您可以這往往根據自己的喜好,例如接受整數0
和1
以及nil
你可以這樣做:
def boolean_to_integer(true), do: 1
def boolean_to_integer(false), do: 0
def boolean_to_integer(nil), do: 0
def boolean_to_integer(1), do: 1
def boolean_to_integer(0), do: 0
iex> boolean_to_integer(0)
0
iex> boolean_to_integer(1)
1
3
您可以通過下面的語法縮短,但因爲在該語言中沒有明確的三元運算符,所以仍然需要一個if宏。
if boolean_variable, do: 1, else: 0
+0
你也可以做'boolean_variable && 1 || 0'。不知道是否清潔雖然:) –
相關問題
- 1. 轉換嵌套的元組靈藥
- 2. 在靈藥
- 3. get_in在靈藥
- 4. 錯誤 - 在靈藥
- 5. 布爾值轉換在IOS
- 6. 在通過System.cmd在靈藥
- 7. encodeURIComponent方法在靈藥
- 8. 應用開始在靈藥
- 9. 如何將布爾轉換可空布爾(布爾?)
- 10. 如何與靈藥
- 11. Postgres的 - 轉換成布爾
- 12. 無法轉換爲布爾
- 13. 將Int32轉換爲布爾
- 14. 布爾轉換爲字節
- 15. 顯式布爾轉換
- 16. 將布爾轉換爲Varchar2
- 17. 位到布爾轉換happenig
- 18. 轉換短布爾陣列
- 19. AnyObject布爾轉換爲int
- 20. 布爾能見度轉換
- 21. 類型轉換爲布爾
- 22. 從int轉換爲布爾在C#
- 23. 如何轉換布爾在golang INT8
- 24. 轉換int?在有條件的布爾
- 25. 德比布爾/整型轉換在JPQL
- 26. 如何在一個簡單的靈藥腳本中加載一個靈藥庫?
- 27. 德爾福仿製藥無效的轉換
- 28. 布爾(布爾)值切換
- 29. 得到字符串靈藥
- 30. 靈藥功能/數語法
難道你不是指一切,而是'nil'和'false'評估爲'true'? –
是的,我確實;-)謝謝 –