option

Scala的Higher-Kinded类型

♀尐吖头ヾ 提交于 2020-02-03 07:54:59
Scala的Higher-Kinded类型 Higher-Kinded从字面意思上看是更高级的分类,也就是更高一级的抽象。我们先看个例子。 如果我们要在scala中实现一个对Seq[Int]的sum方法,应该怎么做呢? def sum(seq: Seq[Int]): Int = seq reduce (_ + _) sum(Vector(1,2,3,4,5)) // 结果值: 15 看起来很简单,刚刚我们实现了Seq[Int]的sum操作,那么如果我们想更进一步,我们想同时实现Seq[Int]和Seq[(Int,Int)]的操作该怎么处理呢? 不同的Seq需要不同的add实现,我们先抽象一个trait: trait Add[T] { def add(t1: T, T2: T): T } 接下来我们在Add的伴生类中定义两个隐式实例,一个Add[Int], 一个Add[(Int,Int)]。 object Add { implicit val addInt = new Add[Int] { def add(i1: Int, i2: Int): Int = i1 + i2 } implicit val addIntIntPair = new Add[(Int,Int)] { def add(p1: (Int,Int), p2: (Int,Int)): (Int,Int) = (p1.

省市联动

那年仲夏 提交于 2020-02-02 22:00:35
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>注册页面重新布局</title> <style type="text/css"> .top { border: 1px solid red; width: 32.9%; height: 50px; float: left; } #clear { clear: both; } #menu { border: 1px solid blue; width: 99%; height: 40px; background-color: black; } #menu ul li { display: inline; color: white; font-size: 19px; } #bottom { text-align: center; } #contanier { border: 1px solid red; width: 99%; height: 600px; background: url(../../img/regist_bg.jpg); position: relative; } #content { border: 5px solid gray; width: 50%; height: 60%; position: absolute; top: 100px;

openwrt无线配置文件字段解析

假装没事ソ 提交于 2020-01-31 12:07:08
wireless配置文件解析 config wifi-device ‘mt7612e’–> 5g无线驱动名称 option type ‘mt7620’ --> 仅展示 option vendor ‘ralink’ --> 仅展示 option txpower ‘75’ --> 功率值 option channel ‘157’ --> 信道值,和国家码有关,0表示自动信道 option autoch ‘1’ --> 自动信道选择使用2,其他使用0或1 option beacon ‘100’ --> 配置信标周期(20~1024) option fragthres ‘2346’ --> 设置片段阈值(256~2346) option rtsthres ‘2347’ --> 设置RTS阈值(1~2347) option txpreamble ‘1’ --> 启用或禁用Tx前导码 option ht_badec ‘0’ --> 配置是否始终拒绝从对等方发送的块确认请求 option dtim ‘1’ --> AP通过设置DTIM的间隔(缺省是一个beacon时间,100ms),根据这个间隔发送组播流量。 option vht_ldpc ‘0’ --> 使用11ac MCS在接收的数据包上启用或禁用LDPC option ht_autoba ‘1’ -->

Mac中Chrome浏览器的快捷键

[亡魂溺海] 提交于 2020-01-29 11:34:18
Mac中Chrome浏览器的快捷键 *在触控板中打开单击鼠标右键的功能 不用鼠标使用双指在触控板中连续点击两次 就是出现下图这个效果 打开“开发者工具” ⌘ + Option + i 打开新窗口 ⌘ + n 在无痕模式下打开新窗口 ⌘ + Shift + n 打开新的标签页,并跳转到该标签页 ⌘ + t 重新打开最后关闭的标签页,并跳转到该标签页 ⌘ + Shift + t 跳转到下一个打开的标签页 ⌘ + Option + 向右箭头键 跳转到上一个打开的标签页 ⌘ + Option + 向左箭头键 跳转到特定标签页 ⌘ + 1 到 ⌘ + 8 跳转到最后一个标签页 ⌘ + 9 打开当前标签页浏览记录中记录的上一个页面 ⌘ + [ 或 ⌘ + 向左箭头键 打开当前标签页浏览记录中记录的下一个页面 ⌘ + ] 或 ⌘ + 向右箭头键 关闭当前标签页或弹出式窗口 ⌘ + w 关闭当前窗口 ⌘ + Shift + w 最小化窗口 ⌘ + m 隐藏 Google Chrome ⌘ + h 退出 Google Chrome ⌘ + q 显示或隐藏书签栏 ⌘ + Shift + b 打开书签管理器 ⌘ + Option + b 在新标签页中打开“设置”页 ⌘ + , 在新标签页中打开“历史记录”页 ⌘ + y 在新标签页中打开“下载内容”页 ⌘ + Shift + j 打开查找栏搜索当前网页

如何在jQuery的SELECT元素中选择特定选项?

柔情痞子 提交于 2020-01-29 01:21:14
如果您知道索引,值或文本。 另外,如果您没有直接参考的ID。 这 , 这 和 这 都是有用的答案。 标记示例 <div class="selDiv"> <select class="opts"> <option selected value="DEFAULT">Default</option> <option value="SEL1">Selection 1</option> <option value="SEL2">Selection 2</option> </select> </div> #1楼 对于选择的Jquery,如果您将属性发送给function并且需要update-select选项 $('#yourElement option[value="'+yourValue+'"]').attr('selected', 'selected'); $('#editLocationCity').chosen().change(); $('#editLocationCity').trigger('liszt:updated'); #2楼 按值计算, jQuery 1.7 对我 有用的 是以下代码,请尝试以下操作: $('#id option[value=theOptionValue]').prop('selected', 'selected').change(); #3楼 我会去:-

GCC参数详解

独自空忆成欢 提交于 2020-01-28 14:43:51
GCC参数详解 [介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件 2.将预处理后的文件不转换成汇编语言,生成文件.s 3.有汇编变为目标代码(机器代码)生成.o的文件 4.连接目标代码,生成可执行程序 [参数详解] -c   只激活预处理,编译,和汇编,也就是他只把程序做成obj文件   例子用法:   gcc -c hello.c   他将生成.o的obj文件 -S   只激活预处理和编译,就是指把文件编译成为汇编代码。   例子用法   gcc -S hello.c   他将生成.s的汇编代码,你可以用文本编辑器察看 -E   只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里   面.   例子用法:   gcc -E hello.c > pianoapan.txt   gcc -E hello.c | more   慢慢看吧,一个hello word 也要与处理成800行的代码 -o   制定目标名称,缺省的时候,gcc 编译出来的文件是a.out,很难听,如果   你和我有同感,改掉它,哈哈   例子用法   gcc -o hello.exe hello.c (哦,windows用习惯了)   gcc -o hello.asm -S hello.c -ansi  

haproxy配置基于ssl证书的https负载均衡

99封情书 提交于 2020-01-28 13:34:35
本实验全部在haproxy1.5.19版本进行测试通过,经过测试1.7.X及haproxy1.3版本以下haproxy配置参数可能不适用,需要注意版本号。 一、业务要求 现在根据业务的实际需要,有以下几种不同的需求。如下: 1.1 http跳转https 把所有请求http://www.chinasoft.com的地址全部跳转为https//:www.chinasoft.com这个地址 1.2 http与https并存 服务器同时开放http://www.chinasoft.com和https://www.chinasoft.com的访问形式 1.3 服务器环境准备 node1即haproxy所在服务器的处理 安装依赖 yum install -y openssl openssl-devel readline-devel pcre-devel libssl-dev libpcre3 # 下载安装包, tar zxf haproxy-1.5.19.tar.gz cd haproxy-1.5.19 useradd -u 188 -r -d /var/lib/haproxy -s /sbin/nologin haproxy # 加入支持ssl的编译参数 make TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1 USE_CRYPT

G++命令

我只是一个虾纸丫 提交于 2020-01-28 02:25:46
gcc and g++分别是gnu的c & c++编译器。 从源代码到可执行文件的四步 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件,用到预处理器cpp。这一步称为preprocess。 2.将预处理后的文件转换成汇编语言文件.s,用到编译器egcs。这一步称为compile。实际上编译过程就是将高级语言转化成汇编语言的过程。 3.把汇编变为目标代码(机器代码)生成.o的文件,用到汇编器as。这一步称为assemble,实际上用到汇编器。 4.连接目标代码,生成可执行程序,用到链接器ld。这一步称为link,把很多个.o文件拼起来。 预处理 -E 只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里 面. 例子: gcc -E hello.c > pianoapan.txt gcc -E hello.c | more 编译生成汇编代码 -S 只激活预处理和编译,就是指把文件编译成为汇编代码。 例如 gcc -S hello.c ,生成.s的汇编代码。 汇编生成目标文件 -c 只激活预处理、汇编、编译,生成obj文件。从源文件到可执行文件宏观上分为编译、链接两个步骤。编译针对每个.c文件进行,为每个.c文件生成.o文件。链接将很多个.o文件组合成可执行文件。例如 gcc -c hello.c 将生成.o的obj文件。编译和链接分离的好处在于

python-selenium-下拉框定位

瘦欲@ 提交于 2020-01-27 07:56:58
** python-下拉框常见定位方法总结 ** UI自动化时经常会遇到页面上有下拉框需要定位的问题,今天就在这里给大家分享一下定位select下拉框的经验。 一般情况下,我们在页面上通过Chrome开发工具查看到的有三类下拉框: 1、 常见的 select option格式 下拉框 一般步骤为:先定位select这个大元素,再具体定位各个option选项,当要选中下拉框中的某一选项时,可选择通过for循环查找定位再点击,也可以通过xpath直接定位到需要的选项再点击,也就是下面的代码: select = driver . find_element_by_name ( "testname" ) # 这里可选select框的常见属性id、name、class等 options = select . find_elements_by_tag_name ( "testname" ) for option in options : print "Value is: " + option . get_attribute ( "value" ) print "Text is:" + option . text if 'testname' in option . text : # 这里使用的是option的text属性 option . click ( ) break

vue中select默认选中

六月ゝ 毕业季﹏ 提交于 2020-01-23 19:40:28
<div id="app"> <!-- 选择一个 --> <select name="abc" id="" v-model="fruits"> <option value="" >请选择</option> <option value="苹果">苹果</option> <option value="香蕉">香蕉</option> <option value="梨子">梨子</option> <option value="葡萄">葡萄</option> </select> <h2>你说选择的是:{{fruits}}</h2> <!-- 选择多个 --> <select name="abc" id="" v-model="fruitss" multiple> <option value="苹果">苹果</option> <option value="香蕉">香蕉</option> <option value="梨子">梨子</option> <option value="葡萄">葡萄</option> </select> <h2>你说选择的是:{{fruitss}}</h2> </div> </body> <script> const app = new Vue({ el: "#app", data() { return { fruits: "", fruitss: [] } }, })