在HDevelop中
算數
a:=[-10,100,130] t:=[-0.5,0.5,1] tuple_abs (a, Abs) *計算一個元組的絕對值 *[10, 100, 130] tuple_acos (t, ACos) *計算一個元組的反余弦 *參數1:輸入元組。 限制:-1<=t<=1 *[2.0944, 1.0472, 0.0] tuple_add (a, t, Sum) *兩個元組相加 *[-10.5, 100.5, 131] tuple_asin (t, ASin) *計算一個元組的反余弦 *參數1:輸入元組。 限制:-1<=t<=1 *[-0.523599, 0.523599, 1.5708] tuple_atan (a, ATan) *計算一個元組的反正切 *[-1.47113, 1.5608, 1.5631]
y:=[10,-10,10,5,0,10] x:=[10,10,20,0,5,-10] a:=[10.5,-10.5,0,3.0] b:=[3.1415, 0,1.5708, 0.785] tuple_atan2 (y, x, ATan) *計算一個元組四個象限的反正切 *參數1:輸入y值的元組 *參數2:輸入x值的元組 *參數3:返回元組的反正切--單位:弧度 *說明:tanA=y/x, 則 A=arctany/x *[0.785398, -0.785398, 0.5235] tuple_ceil (a, Ceil) *計算一個元組的上限函數--大於或等於元素的最小整數 *上限函數始終作為浮點數返回 *[11.0, -10.0, 0.0, 3.0] tuple_cos (b, Cos) *計算一個元組的余弦 *參數1:單位:弧度 *[-1.0, 1.0, -3.67321e-006, 0.707388] tuple_cumul (y, Cumul) *計算一個元組的累計和 *[10, 0, 10, 15, 15, 25]
y:=[1,2,10,5,0,10] x:=[10,10,20,0,5,-10] a:=[10.5,-10.5,0,3.0] b:=[3.1415, 0,1.5708, 0.785] c:=[2,1,-2,3,5,-10] tuple_deg (b, Deg) *將一個元組從弧度轉換為角度 tuple_div (x, c, Quot) *將兩個元組相除 *[5, 10, -10, 0, 1, 1] tuple_exp (y, Exp) *計算以e為底的指數【eⁿ】 *參數1:指數 *[2.71828, 7.38906, 22026.5, 148.413, 1.0, 22026.5] tuple_fabs (a, Abs) *計算一個元組(例如浮點數)的絕對值 *[10.5, 10.5, 0.0, 3.0] tuple_floor (a, Floor) *返回小於等於元素的整數---地板函數 *[10.0, -11.0, 0.0, 3.0]
y:=[1,2,10,5,0,10] c:=[2,1,-2,3,5,-10] tuple_ldexp (y, c, Ldexp) *計算兩個元組的返回長雙精度指數函數 *[4.0, 4.0, 2.5, 40.0, 0.0, 0.00976563] *計算公式:看下面
b:=[2,1,20,3,5,10] tuple_log (b, Log) *自然對數 *自然對數是以常數e為底數的對數,記作lnN(N>0)
y:=[1,2,10,5,0,10] b:=[2,1,20,3,5,10] x:=[3.5,6,8.9,4,1.1,6.5] c:=[2.8,1.4,20.3,3.5,5.9,10.0] tuple_log10 (b, Log) *底為10的對數 *[0.30103, 0.0, 1.30103, 0.477121, 0.69897, 1.0] tuple_max2 (y, b, Max2) *對應位置的最大值 *[2, 2, 20, 5, 5, 10] tuple_min2 (y, b, Min2) *對應位置的最小值 *[1, 1, 10, 3, 0, 10] tuple_mod (y, b, Mod) *功能:整型數相除的余數 *[1, 0, 10, 2, 0, 0] tuple_fmod (x, c, Fmod) *浮點數相除的余數 *[0.7, 0.4, 8.9, 0.5, 1.1, 6.5] tuple_mult (b, x, Prod) *兩個元組相乘 *[7.0, 6, 178.0, 12, 5.5, 65.0] tuple_neg (y, Neg) *取反---乘-1
y:=[1,2,10,5,0,10] b:=[2,1,20,3,5,10] x:=[3.5,6,8.9,4,1.1,6.5] c:=[2.8,1.4,20.3,3.5,5.9,10.0] tuple_pow (b, y, Pow) *冥函數 *參數1:底 *參數2:指數 *[2.0, 1.0, 1.024e+013, 243.0, 1.0, 1e+010]
指數為常數的函數稱為冪函數。例如函數y=x0 、y=x1、y=x2、y=x-1等都是冪函數
y:=[1,2,10,5,0,10] b:=[2,1,20,3,5,10] x:=[3.5,6,8.9,4,1.1,6.5] c:=[2.8,1.4,20.3,3.5,5.9,10.0] a:=[90,180,45,0,30,270] a1:=[1.5708, 3.14159, 0.785398, 0.0, 0.523599, 4.71239] d:=[1,-2,10,-5,0,10] tuple_rad (a, Rad) *角度轉換為弧度 *[1.5708, 3.14159, 0.785398, 0.0, 0.523599, 4.71239] tuple_sgn (d, Sgn) *計算一個元組的正負 *[1, -1, 1, -1, 0, 1] tuple_sin (a1, Sin) *正弦-->sin函數 *參數1:單位:弧度 *[1.0, 2.65359e-006, 0.707107, 0.0, 0.5, -1.0] tuple_sqrt (b, Sqrt) *平方根(二次方根) *[1.41421, 1.0, 4.47214, 1.73205, 2.23607, 3.16228] tuple_sub (x, y, Diff) *相減 *[2.5, 4, -1.1, -1, 1.1, -3.5]
d:=[1,-2,10,-5,0,10] tuple_tan (d, Tan) *計算一個元組的正切
位操作
a:=[3,2,1] b:=[4,2,3] tuple_band (a, b, BAnd) *位與-->對應位都是1才是1 *[0, 2, 1] tuple_bor (a, b, BOr) *按位或-->對應位有1就是1 *[7, 2, 3] tuple_bnot (a, BNot) *逐位取邏輯非 *[-4, -3, -2] tuple_bxor (a, b, BXor) *異或-->如果a、b兩個值不相同,則異或結果為1。如果a、b兩個值相同,異或結果為0 *[7, 0, 2] tuple_lsh (a, b, Lsh) *逐位左移 *參數1:待移位的元組 *參數2:移位次數 *如果沒有發生溢出,此操作相當於乘以2^b *如果a為負值,結果取決於硬件 *如果移位為負數或大於32,則結果未定義 *[48, 8, 8] tuple_rsh (a, b, Rsh) *逐位右移 *相當於除以2^b *如果a為負值,結果取決於硬件 *如果移位為負數或大於32,則結果未定義 *[0, 0, 0]
比較
a:=[3,2,1] b:=[4,2,3] c:=[4,3,3] tuple_equal (a, b, Equal) *兩個元組是否相同 *0--不同 1--相同 tuple_greater (b, c, Greater) *一個元組是否大於另一個元組 *按順序比較 *0--b不大於c 1--b大於c tuple_greater_equal (b, c, Greatereq) *一個元組是否大於等於另一個 *0--b<c 1--b>=c tuple_less (b, c, Less) *一個元組是否小於另一個元組 0--b不小於c 1--b小於c tuple_less_equal (b, c, Lesseq) *一個元組是否小於等於另一個 *0--b>c 1--b<=c tuple_not_equal (b, c, Nequal) *兩個元組是不是不等 * 0--相等 1--不等
轉換
a:=[65,97,49] b:=[4.5,-2.9,3.4567] c:='6814031a' d:='12345678' e:=['A', 'a', '1'] tuple_chr (a, Chr) *根據ASCII碼將整型元組轉換為字符 *參數1:ASCII嗎 *['A', 'a', '1'] tuple_chrt (a, Chrt) *根據ASCII碼將整型元組轉換為字符串 *'Aa1' tuple_int (b, Int) *一個元組轉換為一個整型元組 *小數部分直接拋棄,不四舍五入 *[4, -2, 3] tuple_is_number (c, IsNumber) *檢測一個字符串元組是否表示數字 * 1--數字字符串 0--非數字字符串 tuple_number (d, Number) *將一個字符串元組轉換為一個數值 *如果d不是數字字符串,就返回原字符串 *12345678 tuple_ord (e, Ord) *將長度為1的字符串的元組轉換為它們相應的ASCII碼元組 *[65, 97, 49]
a:=[-65,97.8,49,0] f:='liming' b:=[-65,97.8,49.2,0] c:=-123456.8763 d:=254 e:=0xff tuple_ords (f, Ords) *將一個字符串的元組轉換為它們ASCII碼的元組 *[65, 97, 49] tuple_real (a, Real) *轉換為浮點數 *[-65.0, 97.8, 49.0, 0.0] tuple_round (b, Round) *轉換為整型數--四舍五入 *[-65, 98, 49, 0] tuple_string (f, '-10.3s', String) *轉換為字符串 *參數1:輸入 *參數2:格式 * 數值時: * '10.2f' 總長度10位,小數點2位 f表示浮點數 * '-10.2f' -表示左對齊 否則右對齊 * '.7f' 總長度不限,小數點7位 * '+10.3f' +表示前面加上+-號 * 'x' 轉化為小寫16進制 * 'X' 轉化為大寫16進制 * '.8d' 轉化為十進制,總長度8位 * 字符串時: * '10s' 轉換為總長度10位的字符串 * '-10s' -表示左對齊 否則右對齊 * '-10.3s' 總長度10位,截取前3個字符 'lim '
創建
a:=[1,2,3] b:=[10,20,30] tuple_concat (a, b, Concat) *合並 *[1, 2, 3, 10, 20, 30] tuple_gen_const (5, 0, Newtuple) *創建一個特殊長度的元組和初始化它的元素 *參數1:新元組長度 *參數2:用於初始化元組元素的常量 *參數3:新元組 *[0, 0, 0, 0, 0] tuple_rand (6, Rand) *返回0到1之間的隨機數元組 *參數1:要生成的元組的長度 *參數2:隨機數的元組 *[0.693658, 0.168389, 0.895945, 0.365523, 0.332642, 0.601562]
元素順序
a:=[1,2,3] b:=[10,20,30] c:=[500,200,400] tuple_inverse (b, Inverted) *將一個元組反置(反轉) *[30, 20, 10] tuple_sort (c, Sorted) *按升序排序 *[200, 400, 500] tuple_sort_index (c, Indices) *先按升序排序,返回排序后的元素在原元組中的索引(從0開始) *[1, 2, 0]
特征
a:=[1,2,3] b:=[10.2,20,30.4,80,90,60,50] c:=[500,200,400] tuple_deviation (a, Deviation) *返回元組元素的標准差 *1.0 tuple_length (a, Length) *返回元組元素數目 *3 tuple_max (c, Max) *返回元組的最大元素 *500 tuple_min (a, Min) *返回元組的最小元素 *1 tuple_mean (a, Mean) *返回元組的平均值 *2.0 tuple_median (b, Median) *返回一個元組元素的中值 *50 tuple_sum (a, Sum) *返回所有元素的和 *6
邏輯運算
a:=[1,2,3,0,4] b:=[2,1,4,5,0] c:=[5,0,3,0,0] tuple_and (a, b, And) *數值與--對應位數值都不等於0才是1 *[1, 1, 1, 0, 0] tuple_not (a, Not) *數值非---非0返回0,0返回1 *參數1:只能包含整數 *如果輸入元組為空,則會引發異常 *[0, 0, 0, 1, 0] tuple_or (a, c, Or) *數值或--對應位有非0返回1,都是0返回0 *[1, 1, 1, 0, 1] tuple_xor (a, c, Xor) *數值異或 *對應位一個是0一個不是0時其結果是1,否則結果為0 *【相同是0,不同是1】 *[0, 1, 0, 0, 1]
選擇
a:=[3,'liming',5,6,1,2,3,'liming',0] b:=[3,'liming'] c:=[7,1] tuple_find (a, b, Indices) *返回參數2在參數1中出現的索引 *如果沒有返回-1 *如果其中一個或兩個輸入元組都為空,則運算符返回一個空元組 *允許混合字符串和數字 *[0, 6] tuple_first_n (a, 5, Selected) *選擇前面的元素,直到索引n[包含索引n的元素] *參數2:索引n *索引從0開始,總共返回索引+1個元素 *如果參數1為空,則會引發異常 *[3, 'liming', 5, 6, 1, 2] tuple_last_n (a, 3, Selected1) *選擇從索引“n”開始到元組末尾的所有元素,包含索引n的元素 *元組元素的索引從0開始,如果Tuple為空,則會引發異常 *[6, 1, 2, 3, 'liming', 0] tuple_remove (a, c, Reduced) *移出索引n的元素 *參數2:需要移除的索引 *元組元素的索引從0開始,即第一個元組元素的索引為0。將忽略超出范圍的重復項和索引 *如果元組為空,則運算符返回一個空元組 *[3, 5, 6, 1, 2, 3, 0] tuple_select (a, c, Selected2) *返回指定索引的元素 *參數2:需要返回的索引 *元組元素的索引從0開始 *如果Tuple為空,則會引發異常 *['liming', 'liming'] tuple_select_range (a, 3, 5, Selected3) *返回指定索引區域的元素 *參數2:起始索引 *參數3:終止索引 *參數2和參數3的元素都包含;如果索引相等,則只選擇一個元素 *如果Leftindex和Rightindex是空元組,則運算符返回空元組。如果這些參數或元組中只有一個是空元組,則會引發異常 *[6, 1, 2] d:=[4,30,5,6,1,2,3,20,0] tuple_select_rank (d,4, Selected4) *先升序排序,再返回排序后指定索引的元素 *參數2:索引 *4 e:=['abc','liming','mKbc','5842'] f:=[1,2,0,3] tuple_str_bit_select (e, 1, Selected5) *返回指定索引的字符 *參數2:索引 *['b', 'i', 'K', '8'] g:=[0,0,1,1,1,2,0,1] tuple_uniq (g, Uniq) *連續相同元素只取一個 *允許在輸入元組中混合字符串和數字 *[0, 1, 2, 0, 1]
字符串運算符
a:=['abc,mkb/jkb','tangu,liming/qwe'] b:=[',','/'] tuple_split (a, b, Substrings) *分割字符串 *參數2:分隔符 * 如果就一個,那么所有元素都用這個分隔符 * 如果參數2與參數1元素個數相同,那么一一對應使用分隔符 *['abc', 'mkb/jkb', 'tangu,liming', 'qwe'] c:=[3,5] tuple_str_first_n (a, c, Substring) *從起始字符開始截取到指定索引位置(包含索引) *參數2:索引 *['abc,', 'tangu,'] tuple_str_last_n (a, c, Substring1) *從指定索引到末尾進行截取 *參數2:索引 *[',mkb/jkb', ',liming/qwe'] c1:=[',','/'] a1:=['ab/c,mk,b/jkb','tan/gu,liming/q,we'] tuple_strchr (a1, c1, Position) *返回指定字符的索引--找到左邊第一個匹配的字符就停止 *參數2:指定字符 *[4, 3] tuple_strrchr(a1, c1, Position1) *返回指定字符的索引--找到右邊第一個匹配的字符就停止 *[7, 13] a2:=['liming李明','tangu塘沽'] tuple_strlen (a2, Length) *返回字符串的長度 *一個漢子算一個字符 *[8, 7] a3:=['lim塘沽ing塘沽sgfe','ta李明ngu李明sdfghj'] c2:=['塘沽','李明'] tuple_strrstr (a3, c2, Position2) *返回指定字符串的索引--找到右邊第一個匹配的字符串就停止 *參數2:指定字符串 *[8, 7] tuple_strstr(a3, c2, Position3) *返回指定字符串的索引--找到左邊第一個匹配的字符串就停止 *參數2:指定字符串 *[3, 2]