首页 > 其他分享 >基本操作之——tuple类型

基本操作之——tuple类型

时间:2024-03-06 17:13:27浏览次数:14  
标签:MyTuple tuple int elem 元组 类型 基本操作 type

* 此示例演示如何使用运算符tuple_type,
* tuple_is_int、tuple_is_real、tuple_is_string、
* tuple_is_mixed和元素运算符
* tuple_type_elem、tuple_is_int_elem、tuple_is_real_elem、
* 和 tuple_is_string_elem。
* 此外,此示例还演示了如何使用强制转换(例如tuple_int)优化元组以加快处理速度。
*
* 如果要使用
* HDevelop 函数
UseTupleFunctions := false
*
* 生成一个tuple
create_matrix (3, 3, 0, MatrixID)
MyTuple := [42,43 - 1,'forty-two',42.0,42,HNULL,MatrixID]

 

*
* 获取元组 MyTuple 的元素类型,并将常量转换为人类可读的文本表示形式
if (UseTupleFunctions)
  tuple_type (MyTuple, TupleType)
  tuple_type_elem (MyTuple, ElemType)
else
  TupleType := type(MyTuple)

   ElemType := type_elem(MyTuple)

 endif

tuple_type_to_string (TupleType, TupleTypeString)

 tuple_type_to_string (ElemType, ElemTypeString)

 *

* 此外,元组及其元素的语义类型可以以字符串形式获得
tuple_sem_type (MyTuple, SemType)
tuple_sem_type_elem (MyTuple, SemTypeElem)

 

*
* 某些数据类型的测试也可用:
if (UseTupleFunctions)
  tuple_is_int (MyTuple, IsInt)
  tuple_is_real (MyTuple, IsReal)
  tuple_is_string (MyTuple, IsString)
  tuple_is_handle (MyTuple, IsHandle)
  tuple_is_mixed (MyTuple, IsMixed)
  tuple_is_int_elem (MyTuple, IsIntElem)
  tuple_is_real_elem (MyTuple, IsRealElem)
  tuple_is_string_elem (MyTuple, IsStringElem)
  tuple_is_handle_elem (MyTuple, IsHandleElem)
else
  IsInt := is_int(MyTuple)
  IsReal := is_real(MyTuple)
  IsString := is_string(MyTuple)
  IsHandle := is_handle(MyTuple)
  IsMixed := is_mixed(MyTuple)
  IsIntElem := is_int_elem(MyTuple)
  IsRealElem := is_real_elem(MyTuple)
  IsStringElem := is_string_elem(MyTuple)
  IsHandleElem := is_handle_elem(MyTuple)

 endif

*
* 作为类型运算符的示例,您可以计算元组 MyTuple 的整数类型的元素数
NumInt := sum(IsIntElem)

 

*
* 显示元组元素的类型
dev_inspect_ctrl ([TupleTypeString,MyTuple,ElemTypeString,SemTypeElem,IsIntElem,IsRealElem,IsStringElem,IsHandleElem])

 

*
*
* HALCON 优化了元组的处理,其中每个元素从一开始就属于同一类型或没有中断。
* 如果元组在成为混合元组后成为元组,其元素都属于同一类型的元组,则在运行时不会自动优化。
IntTuple := gen_tuple_const(20000,1)           *创建大小为20000,值均为1的整型tuple
MixedTuple := [gen_tuple_const(20000 - 1,1),1.0]
count_seconds (S1)
SortTuple1 := sort(IntTuple)
count_seconds (S2)
SortTuple2 := sort(MixedTuple)
count_seconds (S3)
TimeSortInt := (S2 - S1) * 1000
TimeSortMixed := (S3 - S2) * 1000
* 如果你有一个 H_TYPE_MIXED 类型的元组,你可以将其转换为纯元组,例如使用 int() 或 tuple_int 来提高使用该元组的后续运算符的速度。
if (type(MixedTuple) == H_TYPE_MIXED)
  CastTuple := int(MixedTuple)
endif
count_seconds (S4)
SortTuple2_Fast := sort(CastTuple)
count_seconds (S5)
TimeSortCast := (S5 - S4) * 1000
* Sorting of Tuple2 is now faster by a factor of about 3.
dev_inspect_ctrl ([TimeSortInt,TimeSortMixed,TimeSortCast])

 

标签:MyTuple,tuple,int,elem,元组,类型,基本操作,type
From: https://www.cnblogs.com/echo-efun/p/18056955

相关文章

  • day 05-4 数据类型(字符串)
    4.6字符串独有功能练习题#1.写代码实现判断用户输入的值否以"al"开头,如果是则输出"是的",否则输出"不是的"data=input("请输入您的用户名:")ifdata.startswith("al"):print("是的")else:print("不是的")#2.写代码实现判断用户输入的值否以"ab&......
  • C++的4种强制类型
    C++提供了4种强制类型转换的语法:静态转换(static_cast)static_cast是用于在没有二义性的前提下进行基本数据类型转换的一种转换方式。它只能用于具有相关性的数据类型之间的转换,如将int类型转换为double类型。如果进行无关的数据类型之间的转换,编译器将报错。用途:通常用......
  • Python-动态类型
    动态类型在Python中,类型是在运行时自动确定的,而不是通过代码声明,即Python没有必要事先声明变量。1.变量、对象和引用变量创建:一个变量在代码第一次给它赋值时就创建了它,之后的赋值将会改变已创建的变量的值;Python在代码运行之前会先检测变量名,是最初的赋值操作在创建变量。变......
  • 01_C++基本数据类型_算数类型
    1.算数类型算数类型主要分为两类——整型和浮点型带符号和无符号类型带符号:int、short、long和longlong,通过在这些类型名前添加unsigned可以得到无符号类型。 选择符号的准则:(1)数值不可能为负时,选择无符号类型。(2)使用int执行整数运算。(3)算数表达式不要使用char或bool,存放字......
  • C语言基础-1、逻辑类型和运算
    一、逻辑类型和运算#include<stdbool.h>之后就可以使用bool和true、falseex1:#include<stdio.h>#include<stdbool.h>intmain(){ boolb=6>5; boolt=true; printf("%d\n",t); t=2; printf("%d\n",t); printf("%d\n&q......
  • day 05-3 数据类型(字符串)
    3.3公共功能1.字符串相加v1="linzai"+"是个好人"print(v1)#linzai是个好人2.字符串相乘v1="linzai"*3print(v1)#linzailinzailinzai3.计算字符串的长度v1="linzai"data=len(v1)#计算字符串的长度print(data)#64.获取字符串的字符,索引字符......
  • 基本操作之——正则表达式
    1.定义*允许0次或多次重复+允许1次或多次重复?允许0次或1次重复{n,m}允许n到m次重复{n}允许n次重复^ 匹配字符串开头$ 匹配字符串结尾.匹配除换行符外所有字符2.事例*正则表达式基本操作tuple_regexp_match('abba','ab*',Match......
  • 基本操作之——Unicode编码
    自版本18.11后,支持UTF-81.字符转Unicode码tuple_ord('s',Ord)dev_clear_window()dev_disp_text('\'s\'的Unicode码为'+Ord,'window','center','center','black','box_color','#00ffffc0......
  • 2.Python3 基本数据类型
    Python3基本数据类型python是弱类型语言,弱类型语言有两个特点:变量无须声明就可以直接赋值,对一个不存在的变量赋值就相当于定义了一个新变量。变量的数据类型可以随时改变,比如,同一个变量可以一会儿被赋值为整数,一会儿被赋值为字符串。弱类型并不等于没有类型!弱类型是说在书写......
  • 基本操作之——字符截取操作
    *字符截取操作 String1:='abcdefghij'String2:='0123456'Message:='字符截取操作'Message[1]:='String1:=\'abcdefghij\''Message[2]:='String2:=\'0123456\''dev_clear_window()dev_disp_te......