`
liumengfan
  • 浏览: 32490 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

列表[A||boolen]

阅读更多
今天读到riak_sysmon时,看到列表解析的特殊用法,以前没见过,特做下笔记。
%%--------------------------------------------------------------------
%% @private
%% @doc
%% Initializes the server
%%
%% @spec init(Args) -> {ok, State} |
%% {ok, State, Timeout} |
%% ignore |
%% {stop, Reason}
%% @end
%%--------------------------------------------------------------------
init(MonitorProps) ->
    GcMsLimit = get_gc_ms_limit(),
    HeapWordLimit = get_heap_word_limit(),
    BusyPortP = get_busy_port(),
    BusyDistPortP = get_busy_dist_port(),
    Opts = lists:flatten(
             [[{long_gc, GcMsLimit} || lists:member(gc, MonitorProps)
                                           andalso GcMsLimit > 0],
              [{large_heap, HeapWordLimit} || lists:member(heap, MonitorProps)
                                                  andalso HeapWordLimit > 0],
              [busy_port || lists:member(port, MonitorProps)
                                andalso BusyPortP],
              [busy_dist_port || lists:member(dist_port, MonitorProps)
                                     andalso BusyDistPortP]]),
    _ = erlang:system_monitor(self(), Opts),
    {ok, #state{proc_limit = get_proc_limit(),
                port_limit = get_port_limit(),
                port_list = gb_trees:empty(),
                node_map = get_node_map(),
                tref = start_interval_timer()
               }}.


实验的效果如下:
(liufan@liufan)5> [1||true].
[1]
(liufan@liufan)6> [1||fase].
[]

总结:
当Boolean的值是true时,[A||Boolean]的结果为A,Boolean是false时,结果为[].
从列表解析的角度来看,就是右边的生成器不存在,只存在约束条件,所以当约束条件为真时,生成只有一个元素的列表;约束条件为假时,则生成空列表。
分享到:
评论

相关推荐

    boolean operators_delphi_opportunityha8_sample_boolean_vcl_

    在压缩包的文件名列表中,我们可以看到项目相关的配置、源代码、设计表单和资源文件: - `Project1.cfg`:项目的配置文件,通常包含编译器和链接器的选项。 - `Unit1.dcu`:这是编译后的单元文件,包含了编译过的源...

    python爱心代码高级python-boolean-algebra.rar

    在Python编程中,布尔代数的概念不仅限于基本的逻辑运算,它也深入到了控制流(if-else语句)、列表推导式、集合操作以及函数的默认参数和None值的处理等多个方面。理解并熟练运用布尔代数,能帮助程序员写出更高效...

    C++ Java C#.net VB.net 语法对比

    | 布尔型 | bool | Boolean | Boolean | boolean | | 字符型 | char | Char | Char | char | | 短型 | short | Short | Short | short | | 整型 | int | Integer | Integer | int | | 长型 | long | Long | Long | ...

    Android 联系人A-Z列表布局实现

    在Android开发中,构建一个联系人A-Z列表布局是一项常见的任务,这有助于用户更高效地查找和管理大量的联系人信息。下面将详细讲解如何实现这样一个功能,并涉及相关的Android知识点。 首先,我们需要理解A-Z列表的...

    cev-mochila-booleana

    在提供的文件列表"cev-mochila-booleana-master"中,我们可以期待找到与Java编程相关的源代码,用于实现上述的进化计算策略。Java是一种广泛使用的面向对象的编程语言,具有跨平台兼容性,适合开发大型和复杂的应用...

    A*算法实验报告广工(附源码java)

    根据给定的实验报告标题“**A*算法实验报告广工(附源码java)**”及其描述“**对下图所示的迷宫问题,用A*算法为机器人搜索一条路径:其中(1, 1) 为起始点,(4, 4) 为目标点,启发函数采用曼哈顿距离**”,我们可以...

    Android ListView城市列表,按a-z分组字母索引排序

    在这个特定的案例中,我们讨论的是一个Android应用的功能,即“城市列表”,这个列表按照字母A到Z进行了分组和索引排序。这种功能常见于通讯录或者地点搜索等应用,方便用户快速定位和查找目标城市。 首先,要实现...

    java实现的A*算法

    - `boolean find`: 是否找到路径的标志。 主要方法包括: - `cleanList()`: 清除所有节点的父节点信息,重置搜索状态。 - `GO(int sx, int sy, int ex, ey)`: 开始搜索,从`(sx, sy)`到`(ex, ey)`。 - `getResult...

    程序设计基础答案

    A) 采用不同的形式参数列表 B) 返回值类型不同 C) 调用时用类名或对象名做前缀 D) 参数名不同 14.定义主类的类头时可以使用的访问控制符是( )。 A) private B) protected C) public D) private ...

    易安卓(e4a)帮助文档

    在E4A中,控件是构建用户界面的基本元素,如按钮、文本框、列表视图等。每个控件都有其特定的方法、属性和事件,这些决定了控件的行为和外观。方法是执行特定任务的函数,例如设置控件的文本、改变颜色或响应用户...

    Java基于散列表实现的(无序)词典结构(算法源码)

    * 基于散列表实现的(无序)词典结构 * 采用分离链策略解决冲突 */ package dsa; public class Dictionary_HashTable implements Dictionary { private Dictionary[] A;//桶数组,每个桶本身也是一个(基于...

    Scala的List类方法整合

    `def exists(p: (A) => Boolean): Boolean` 此方法检查是否存在至少一个元素使得给定的谓词 p 为真。 **示例代码:** ```scala val list = List(1, 2, 3, 4, 5) val exists = list.exists(_ > 3) // 结果为 true ``...

    Java中的变量与常量.docx

    [修饰符] class 类名 [extends 父类名] [implements 接口列表] { 数据成员----类的属性 成员方法-----类的行为 内部类 静态块 } ``` 其中,`修饰符`可以是`public`、`private`、`protected`或默认(即没有显式...

    Java软件开发实战 Java基础与案例开发详解 8-2 对象包装器 共6页.pdf

    - **数学操作方法**:`max(int a, int b)`返回两个整数中的最大值,`min(int a, int b)`返回最小值。 - **其他方法**:`valueOf(String s)`创建一个新的`Integer`对象,`compare(int x, int y)`比较两个整数。 ####...

    Scala的Map相关方法整合

    `defexists(p:((A,B))=>Boolean):Boolean` 检查是否存在满足条件的元素。 - **示例**:`val m = Map("a" -> 1, "b" -> 2, "c" -> 3); m.exists{ case (k, v) => v == 2 }` 结果为 `true`。 #### 20. `deffilter(p:...

    delphi字符串函数大全.doc

    1. **AnsiResemblesText(const AText, AOther: string): Boolean** 这个函数用于判断两个字符串`AText`和`AOther`是否相似。它不区分大小写,并使用一种算法(如Soundex)来比较它们的发音或形状。例如,如果用户在...

    android_AIDL分析

    public void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat, double aDouble, String aString) throws RemoteException { // 实现逻辑 } } ``` 3. **`ServiceConnection`示例** - 实现...

    Delphi进度条(多线程),美观不卡界面,简单开启,定位,结束

    功能列表: 1.开启进度(标题,消息,透明度(0-255),是否同步任务栏,是否有边框) procedure StartPro(aTitle,aMsg:String; AlphaValue:Integer=0; IsSyncTaskbar:Boolean=True; IsHasBorder:Boolean=True);//显示动画 ...

Global site tag (gtag.js) - Google Analytics