找回密码
 注册
关于网站域名变更的通知
查看: 330|回复: 2
打印 上一主题 下一主题

用哪个函数可以得到show element中展示的各个属性?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2023-4-3 17:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
用哪个函数可以得到show element中展示的各个属性?

  • TA的每日心情
    奋斗
    2025-4-27 15:26
  • 签到天数: 81 天

    [LV.6]常住居民II

    推荐
    发表于 2023-4-3 18:40 | 只看该作者
    axlShowObjectToFile

    该用户从未签到

    2#
    发表于 2023-4-3 18:32 | 只看该作者
    1.list():用来创建一个List数据类型的变量,也可用单引号'。例如:
    aList='(1 2 a b c)
    bList=list(1 2 'a 'b 'c)
    cList='(1 (2 a b) c)
    注:当有字符出现的时候,用list函数创建必须在字符前加单引号。

    2.car():
    用来读取List中的第一个元素。例如:
    car('(a b c))
    =>a

    3.cdr():
    用来读取list中除了第一个元素外后面的单元。例如:
    cdr('(a b c))
    =>(b c)
    此外,可以对List重复混合使用car或cdr函数,组合的格式为以c开头,r结尾,中间可有多个a|d。例如:
    caadr功能等同于car(car(cdr(List))),caadr()函数对List的操作顺序为:
    (1)先执行一次cdr,读取后面的单元;
    (2)对第一步读取的值执行car,读取其第一元素;
    (2)对第二步读取的值执行car,读取其第一元素。
    caadr('((1 2 3) (4 5 6) (7 8 9)))
    =>4

    4.nthelem():
    按元素序号读取List中的元素。用法:
    nthelem(1 1_list)等同于car(1_list)

    5.last():
    用来读取List中的最后一个元素。其数据类型也是一个List。用法:
    last(listname)

    6.rplaca():
    用来替换List中的第一个元素。例如:
    aList='(1 2 3)
    bList=rplaca(aList 4)
    aList
    =>(4 2 3)
    eq(aList bList)
    =>t
    同理用rplacd()函数可以替换List后面的单元。

    7.cons():
    用来添加元素到List之前。例如:
    aList='(2 3 4)
    cons(1 aList)
    =>(1 2 3 4)
    此外,xcons()函数和cons()函数功能一样,只是格式有所区别,前面的变量为原List的元素,后面的变量为需要添加的元素。例如:
    xcons('(b c) 'a)
    =>(a b c)

    8.append1():
    用来添加元素到List之后。例如:
    append1('(1 2 3) 4)
    =>(1 2 3 4)

    9.append()与nconc():
    两个函数都是用来合并两个List。前者不改变所合并的List变量的值;后者会改变所合并List的值,且依次累加,最后一个List值不变。例如:
    cList='(1 2) dList='(3 4 5) eList='(6 7)
    append(cList dList)
    =>(1 2 3 4 5)
    cList
    =>(1 2)
    dList
    =>(3 4 5)
    nconc(cList dList eList)
    =>(1 2 3 4 5 6 7)
    cList
    =>(1 2 3 4 5 6 7)
    dList
    =>(3 4 5 6 7)
    eList
    =>(6 7)

    10.reverse():
    用于元素倒序排序。例如:
    aList='(1 2 3)
    reverse(aList)
    =>(3 2 1)
    bList='(1 2 (3 4 5) 6)
    reverse(bList)
    =>(6 (3 4 5) 2 1)
    bList
    =>(1 2 (3 4 5) 6)

    11.sort():
    用于元素按条件排序。书写格式为:
    sort(1_data u_comparefn)
    其中第一个变量“1_data”为List的变量,第二个变量“u_comparefn”为对比函数。对比函数也可以是自定义函数。例如:
    sort('(4 3 2 1) 'lessp)
    =>(1 2 3 4)
    sort('(d b c a) 'alphalessp)
    =>(a b c d)
    sort('("U5" "U10" "U1" "U5" "U2") 'axlStrcmpAlpNum)
    =>("U1" "U2" "U5" "U5" "U10")  (其中“axlStrcmpAlpNum”为自定义函数)
    此外,当List元素都是由List组成的时候,可以使用sortcar()函数来对比子List的第一个元素排序。例如:
    sortcar('((4 four) (3 three) (2 two)) 'lessp)
    =>((2 two) (3 three) (4 four))
    sortcar('((d 4) (b 2) (c 3) (a 1)) 'nil)
    =>((a 1) (b 2) (c 3) (d 4))

    12.member()与assoc():
    member()函数是一种用于查找List元素的函数。它从List的第一个元素开始查找,找到并返回第一个元素后继续找,一直到最后。如果能找到,返回从找到的元素开始直到最后的元素,找不到则返回nil。因此可以用来判断元素是否存在。例如:
    member(3 '(2 3 4 3 5))
    =>(3 4 3 5)
    member(6 '(2 3 4 3 5))
    =>nil
    assoc()函数也是一种用于查找List元素的函数,其书写格式为:
    assoc(g_key l_alist)
    其中“g_key”变量为所查找的第一个完整的关键值,“l_alist”是个由多个List组成的List,格式为:((key1 value1) (key2 value2) (key3 value3)......)。
    assoc()函数返回的是查找到的子List。例如:
    aList='((1 "one") (2 "two") (3 "three"))
    assoc(2 aList)
    =>(2 "two")
    assoc("one" aList)
    =>nil

    13.setof()、exists()与forall():
    这三种函数都是用于过滤List元素的函数。
    setof()函数的书写格式为:
    setof(s_formalVar l_valueList g_predicateExpression)。
    其中“s_formalVar”变量为局部变量,作用于“g_predicateExpression”表达式中,“l_valueList”变量为要过滤的List变量,“g_predicateExpression”为自定义表达式。例如:
    setof(x '(1 2 3 4) (x>2))
    =>(3 4)
    setof(x '(1 2 3 4 5 6) oddp(x))
    =>(1 3 5)  (oddp()函数是将一个不是奇数的数值舍入为最接近的奇数)
    exists()函数和setof()函数的区别在于exists()函数查找List中满足条件的第一个元素,并返回之后的所有元素。例如:
    exists(x '(4 3 4 5) (x<4))
    =>(3 4 5)
    forall()函数用于判断List中所有的元素是否全部满足表达式,全满足返回t,否则返回nil。例如:
    forall(x '(1 2 3 4) (x>0))
    =>t
    forall(x '(2 4 7 8) evenp(x))
    =>nil  (evenp()函数是返回沿绝对值增大方向取整后最接近的偶数)

    14.remove():
    用来移除List中所指定的元素。如果List中没有所指定的元素,则返回原List。remove()函数不会改变原List变量的值。例如:
    aList='(1 2 3 4 5)
    remove(3 aList)
    =>(1 2 4 5)
    aList
    =>(1 2 3 4 5)
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-10 09:35 , Processed in 0.062500 second(s), 24 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表