函数

  • 函数语法
    • 自定义函数:
  • 转换函数 (<-)
  • 定义具有作用域的函数

函数语法

语法:
函数名 = (参数) => 函数体

自定义函数:

一个参数的函数

square = (n) => n * nsquare(n:3)
// Returns 9

两个参数的函数

multiply = (x, y) => x * ymultiply(x: 2, y: 15)
// Returns 30

带默认参数的函数:

pow = (n, p=10) => n ^ ppow(n: 2)
// Returns 1024

转换函数 (<-)

转换是一个函数,它将流作为输入,对输入进行操作,然后输出新的流。
管道转发运算符 |> 将数据从先前的标识符或函数转发到转换函数中。

语法:
函数 x() 接收管道转发的数据并将其分配给 t 参数。
x = (t=<-) => t |> //...

列子:带有一个参数的转换函数

以下示例定义了一个 myFn 函数,该函数将每个输入行的 _value 列乘以 x 参数。 该示例使用 map() 函数遍历每一行,修改 _value,然后返回更新后的行。

import "influxdata/influxdb/sample"myFn = (tables=<-, x) =>tables|> map(fn: (r) => ({r with  _value: r._value * x}))// 空气传感器样本数据
a = sample.data(set: "airSensor")|> range(start: -1h)|> filter(fn: (r) => r["_measurement"] == "airSensors")|> keep(columns: ["_value", "sensor_id"])a|> myFn(x: 10.0)

定义具有作用域的函数

语法:
函数体包含在一个块 ({}) 中。
使用 return 语句返回特定变量。

functionName = (param) => {exampleVar = "foo"return exampleVar
}

例子1

import arrayalertLevel = (v) => {level =if float(v: v) >= 90.0 then"crit"else if float(v: v) >= 80.0 then"warn"else if float(v: v) >= 65.0 then"info"else"ok"return level
}array.from(rows: [{level: alertLevel(v: 87.3)}])

例子2:

import "dict"hexName = (hex) => {hexNames =dict.fromList(pairs: [{key: "#00ffff", value: "Aqua"},{key: "#000000", value: "Black"},{key: "#0000ff", value: "Blue"},{key: "#ff00ff", value: "Fuchsia"},{key: "#808080", value: "Gray"},{key: "#008000", value: "Green"},{key: "#00ff00", value: "Lime"},{key: "#800000", value: "Maroon"},{key: "#000080", value: "Navy"},{key: "#808000", value: "Olive"},{key: "#800080", value: "Purple"},{key: "#ff0000", value: "Red"},{key: "#c0c0c0", value: "Silver"},{key: "#008080", value: "Teal"},{key: "#ffffff", value: "White"},{key: "#ffff00", value: "Yellow"},],)name = dict.get(dict: hexNames, key: hex, default: "No known name")return name
}hexName(hex: "#000000")
// Returns "Black"hexName(hex: "#8b8b8b")
// Returns "No known name"array.from(rows: [{ color : "#000000"}, {color : "#8b8b8b"}])|> map(fn: (r)=> ({r with name: hexName(hex: r.color)}))

Flux脚本语言基础使用-函数定义(InFluxDB 查询语言)相关推荐

  1. Flux脚本语言基础使用-查询数据(InFluxDB 查询语言)

    数据库 查询 InfluxDB 查询 mysql 查询 CSV 查询 InfluxDB 使用 from() 函数和 range() 使Flux 从 InfluxDB 查询数据. from(): buc ...

  2. VBScript脚本语言基础

    VBScript脚本语言基础 2.1 vbs脚本语言简介 2.2 第一个vbs脚本语言–hello world 打开记事本程序,在编辑窗口填写,保存文件的扩展名为:.vbs 对话框: 输入框 inpu ...

  3. Java前端学习(一)JavaScript脚本语言基础

    JavaScript脚本语言基础 前言 一.JavaScript简介 1.应用 2.特点 3.示例 4.补充 二.语法基础 1.数据类型 2.表达式和运算符 3.流程控制语句 4.函数 三.对话框 1 ...

  4. c语言函数调用数组_第七讲:C语言基础之函数,第二节,实现汉诺塔

    本文约2200字,主要讲了C语言基础之函数,递归,数组作为函数参数以及案例.练习题等. 带你进入C语言的世界,入门C语言,后边将持续更新.可以收藏学习.想了解C语言基础之函数,函数的基本概述,函数的调 ...

  5. C语言基础--宏函数

    C语言基础–宏函数 1. 函数和数据类型 函数式宏(宏函数)和函数类比会更加灵活,我们通过两个例子来看一下. 函数 #include <stdio.h> int sqr_int(int x ...

  6. fig r函数_R语言基础绘图函数散点图~跟着Nature Communications学画图~Figure1

    今天继续 跟着Nature Communications学画图系列第二篇.学习R语言基础绘图函数画散点图. 对应的 Nature Communications 的论文是 Fecal pollution ...

  7. plot函数_R语言基础绘图函数散点图~跟着Nature Communications学画图~Figure1

    今天继续 跟着Nature Communications学画图系列第二篇.学习R语言基础绘图函数画散点图. 对应的 Nature Communications 的论文是 Fecal pollution ...

  8. 【数据库学习笔记】Day03 - SQL语言基础及数据库定义功能

    [数据库学习笔记]Day03 - SQL语言基础及数据库定义功能 〇.本文所用数据库表格: 一.关系运算: 关系运算,数学名词,基本运算有两类:一类是传统的集合运算(并.差.交等),另一类是专门的关系 ...

  9. c语言函数定义时涉及的基本要素是什么,C语言基础:函数的定义与调用

    在前面内容中我们调用了一个标准C的库函数,叫printf,那么如果我们想自己定义函数应该如何来编写程序呢?定义函数又有什么好处呢?因为我们在教材中提及到的例子主要目的是为了让读者对程序的原理有一定的了 ...

最新文章

  1. html优化网站的方法,利用HTML优化加快网页速度方法介绍
  2. python数字加密解密_Python对整形数字进行加密和解密
  3. boost使用Proto转换来实现的例子
  4. 零基础学Python(第十四章 字典)
  5. Chrome控制台用法
  6. 同步云数据库MySQL到自建数据库
  7. ABAP, Java和JavaScript三种语言的比较
  8. Serval and Parenthesis Sequence CodeForces - 1153C 贪心
  9. Android学习笔记:短信控制手机之“短信开启定位”
  10. 微信公号“架构师之路”学习笔记(六)-互联网一致性架构设计(session一致性,主从一致性,双主一致性,缓存一致性,冗余一致性,消息时序一致性,分布式事务一致性,数据扣减一致性等)
  11. php中文歌词,酷狗krc歌词解析并转换为lrc歌词php版
  12. DOM DEM DLG DRG之间的区别
  13. 类似微信的即时通讯服务器,除了微信,还有这些常用即时通讯APP
  14. ACM-ICPC 2018 沈阳赛区网络预赛 F. Fantastic Graph (有上下界可行流)
  15. Aviary 图片编辑
  16. 基于PG与PostGIS搭建实时矢量瓦片服务
  17. 七月三日服务器维护,7月3日全部服务器更新维护公告
  18. MySQL异常 Incorrect string value: '\xE8\xB5\xB5\xE6\xB4\x8B' for column at row的解决方案
  19. 玩头条整整20天了,发的内容只有头条,已有差不多250元的收益了
  20. hardware计算机专业英语翻译,hardware是什么意思中文翻译

热门文章

  1. 【NLP项目-文本分类】划分测试集,训练集,验证集
  2. 【CV】图像标准化与归一化
  3. 全触屏智能之战 三星i908E对比iPhone 3G
  4. ubuntu 命令行关机
  5. 必须要了解股权设计的四大核心
  6. 自动填充被拆分的单元格
  7. python3.7 openpyxl函数 拆分 excel 单元格
  8. Feign实现RPC调用
  9. 位运算符之---按位取反运算符(简单易懂)
  10. Baumer工业相机堡盟相机如何使用自动曝光功能(自动曝光优点和行业应用)(C++)