Lingo基本操作

前言

Lingo是一门主要求解非线性规划数学模型的编程软件,记得最初接触Lingo是在阅读《数学建模教程》一书,该书在第五章主要讲解使用Lingo来解决优化问题,也是在那个时候认识到了Lingo的强大之处。Lingo的使用就好比解决一道简单的数学问题,而你只需要使用Lingo支持的编程规范给其提供充足的已知条件即可,之后会自动使用相关算法为您解答。为了日后更加方便的查询Lingo相关知识,所以将Lingo的基本使用在此记录。

关于Lingo的下载及安装问题博主已做整理,可参考本篇教程 Lingo安装

一、Lingo基本运算符

1.1 算术运算符

^:乘方
*:乘
/:除
+:加
-:减

1.2 逻辑运算符

在Lingo中,逻辑运算符主要用于集循环函数的条件表达式中,来控制在函数中哪些集成员被包含,哪些被排斥。

符号 说明
#and# 且,&
#or# 或,||
#not# 非,!
#eq# 等于,==
#ne# 不等于,!=
#gt# 大于,>
#ge# 大于等于,>=
#lt# 小于,<
#le# 小于等于,<=

1.3 关系运算符

= 、<= 、 >=

二、函数

2.1 标准数学函数

函数 说明
@abs(x) 绝对值
@sin(x) 正弦值,采用弧度制
@cos(x) 余弦值
@tan(x) 正切
@exp(x) 指数,aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAiCAYAAABbXymAAAABhklEQVRIS+2UPctBYRjHf8dbKcqAUXkZlbJKGSkmq+V8AYtNvoDJoPgGyqjEwmSUkhiVhUEiC4N0dN/lqfN4Xs556inDucbT3e9c9+9/3ZeiaZrGP5RigZ9WLRUf82WpeDMVx+ORwWDAfr8nGo2yXq8JhUIUi0UURdEtBsPh3e93JpMJqVSK1WrFdDqV0O12i6qqfweLXXW73XC5XPT7fTweD5lM5tv1ZbjjJ0HA2+02uVyOWCyGuInD4Xj5wZfgzWZDt9uVXV0uF7LZLJFIhEajQT6fp9frUS6XuV6vCO/xePx38Gw2o9VqUavVCIfDnE4nxuOx7LDT6RAMBiXQ6XTi8/mkDrvd/jP4cDhQrVZJp9OUSiWE19FohNvtlt/MlE7FfD6nUqmQTCbxer0EAgE5BeKqNpvNDJcXcLPZpF6v4/f7TYE+H9aBd7sdAiy6foLFI1gulxQKBVNd68DC6WKxYDgcypDO5zOJREL6FWGZKdNzbBRugd9sHxsNTpyzwrPCe52XB08LC6ooqGhVAAAAAElFTkSuQmCC" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;">
@log(x) 自然对数
@lgm(x) gamma函数的自然对数
@sign(x) x<0返回-1,否则返回返回1
@floor(x) 取整
@smax(aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGUAAAAiCAYAAABGIRcbAAAFWElEQVRoQ+1ZWUiVaxRdmpZomlmUSg5FWBb1kkpaWqDiUBqhiA1EUVIgRJhmhgNOKKghomLqgw/6YEY0WFZQBkFKJmiYQT6YAw6UmAMOSRprwzl4btfpaPbfy7/hf/Cc79/T2nvt/R0NZmZmZqCKojJgoIKiKDzEGRUU5WGigqJATFRQVFCUmAEF+qTOFBUUBWZAgS6pnaKCosAMKNAltVNUUBSYAQW6pHaKCooCM6BAl9RO+S+AMjg4iMrKSvz48QOGhoZwc3NDQ0MDRkdHcf78eWzdulXvMH7+/IknT56gq6sL3759Q1BQEBobG/H9+3ccOnQIHh4eeuv+2y92dnbi4cOHmJqawpYtW2Bra4vW1lYw5kuXLsHMzGzRLup0ysTEBB49eoSAgAAYGxsjKytLlLu7u+PWrVtITU3Fvn37RDmNNzc3Y8+ePTA1NV2UwdraWtG3a9cuPH36FM+ePUN0dDTy8/Pls4sXL2J8fBx3797Fly9fYGlpiQsXLsDCwmJR+v/WIRbyy5cvceLECYyNjeHmzZtScObm5rhz5w4yMjJgZ2e3aPd0QGH18tm9e7d0RlJSEk6fPo29e/eit7cXDg4O0j3V1dX48OED+vr6BKgNGzYsaJAg8p39+/cL4OXl5RgZGcHly5fR0dEBGxsbmJiYoKamBk5OTnB0dERZWRnWrl2Ls2fPwsDAYEEbf+sAu4Rib28veUpPT8f169dhZWUleWQhLsX/OWdKW1sbbt++jcTEREnYP4WJLCwslA5aDCiz32c10XFfX18cPXpU+xUp8/79+wgODpbuI7Wxo2JiYgSw+YTVSn8OHz6MI0eO6BwlAxQXF2Pbtm1SzWvWrNF+z2KpqKiQv8+cOSMFsxypq6vDvXv3kJycjPXr1+ulSgcUOkjaIOJsRyZFk5CWlhbs2LFDS1VLBYX/de7u7pb3WT1s6bi4OOk+Vtf09DQ2bdqE7OxsSaqnp6d05KdPn3Dt2rUFk9XT04P4+Hj4+/sjLCxMJxnDw8NISUnBzp07ERERoQMKAcvNzZXztLMQ+P+WZergnNR0N89wjjAmzhUyz9evXyUe6t+8ebPQ/9DQEE6dOvVbbDqgEGUmJS0tTWYLOZ30Qkp7/fo1Tp48qQ1oqaBQR2xsrJZrWU2ZmZlSTQ8ePBAgCAqXCrb7xo0bkZOTg9DQUJlbShbG8uLFC4mP85EMEBgYiPb2dnz+/Bl+fn548+aNzBievXHjBlikeXl5uHr16m9MowMK0S4pKZHkuLq64tWrV5IcKgsJCdHZIOYChY5wQbhy5YrMD42wmqibFOXs7CyVw2fdunU4fvw4tm/frj1Lhx8/fgxra2vxQ8PHPE+gfHx85FlNmc92U1OTFDFz5eLiIhsmKZ90SXCMjIykM96+fSsFzkIjO3CuRkZG/rYo6X1PmQsUtmtCQoJscGxhfYRBTk5Oyjo+e0AyEC4fpImoqCi9qEYff/jOcm2z0EpLS3Hw4EHZYMk8pPPw8HBhn9lxrjgoDIAcTqMc2EsVdtrHjx9lYDOQ+vp6eHt7yxZGYadxQyPoms+WakPf88uxzeWmoKBANkneY4qKiuDl5YWBgQG5o81eMPQChfz4/v17vHv3ThQzgZr7CwNmUklXBw4cWFL8DJoz7fnz59r3zp07J/cXjXCgUz95e7VlObb7+/tRVVUl7EHK5pbJhYcFR5qbLXqBMl8yeDvnlkHe1GeTmU83QePF8tixY8LfqymraXvFQSHl8OEl808If7aYfc/4Ezbm0rlatlcclNVM0v/VlgqKApFVQVFBUWAGFOiS2ikqKArMgAJdUjtFgaD8Ar6m8bmr8ovgAAAAAElFTkSuQmCC" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;">) 取(aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGUAAAAiCAYAAABGIRcbAAAFWElEQVRoQ+1ZWUiVaxRdmpZomlmUSg5FWBb1kkpaWqDiUBqhiA1EUVIgRJhmhgNOKKghomLqgw/6YEY0WFZQBkFKJmiYQT6YAw6UmAMOSRprwzl4btfpaPbfy7/hf/Cc79/T2nvt/R0NZmZmZqCKojJgoIKiKDzEGRUU5WGigqJATFRQVFCUmAEF+qTOFBUUBWZAgS6pnaKCosAMKNAltVNUUBSYAQW6pHaKCooCM6BAl9RO+S+AMjg4iMrKSvz48QOGhoZwc3NDQ0MDRkdHcf78eWzdulXvMH7+/IknT56gq6sL3759Q1BQEBobG/H9+3ccOnQIHh4eeuv+2y92dnbi4cOHmJqawpYtW2Bra4vW1lYw5kuXLsHMzGzRLup0ysTEBB49eoSAgAAYGxsjKytLlLu7u+PWrVtITU3Fvn37RDmNNzc3Y8+ePTA1NV2UwdraWtG3a9cuPH36FM+ePUN0dDTy8/Pls4sXL2J8fBx3797Fly9fYGlpiQsXLsDCwmJR+v/WIRbyy5cvceLECYyNjeHmzZtScObm5rhz5w4yMjJgZ2e3aPd0QGH18tm9e7d0RlJSEk6fPo29e/eit7cXDg4O0j3V1dX48OED+vr6BKgNGzYsaJAg8p39+/cL4OXl5RgZGcHly5fR0dEBGxsbmJiYoKamBk5OTnB0dERZWRnWrl2Ls2fPwsDAYEEbf+sAu4Rib28veUpPT8f169dhZWUleWQhLsX/OWdKW1sbbt++jcTEREnYP4WJLCwslA5aDCiz32c10XFfX18cPXpU+xUp8/79+wgODpbuI7Wxo2JiYgSw+YTVSn8OHz6MI0eO6BwlAxQXF2Pbtm1SzWvWrNF+z2KpqKiQv8+cOSMFsxypq6vDvXv3kJycjPXr1+ulSgcUOkjaIOJsRyZFk5CWlhbs2LFDS1VLBYX/de7u7pb3WT1s6bi4OOk+Vtf09DQ2bdqE7OxsSaqnp6d05KdPn3Dt2rUFk9XT04P4+Hj4+/sjLCxMJxnDw8NISUnBzp07ERERoQMKAcvNzZXztLMQ+P+WZergnNR0N89wjjAmzhUyz9evXyUe6t+8ebPQ/9DQEE6dOvVbbDqgEGUmJS0tTWYLOZ30Qkp7/fo1Tp48qQ1oqaBQR2xsrJZrWU2ZmZlSTQ8ePBAgCAqXCrb7xo0bkZOTg9DQUJlbShbG8uLFC4mP85EMEBgYiPb2dnz+/Bl+fn548+aNzBievXHjBlikeXl5uHr16m9MowMK0S4pKZHkuLq64tWrV5IcKgsJCdHZIOYChY5wQbhy5YrMD42wmqibFOXs7CyVw2fdunU4fvw4tm/frj1Lhx8/fgxra2vxQ8PHPE+gfHx85FlNmc92U1OTFDFz5eLiIhsmKZ90SXCMjIykM96+fSsFzkIjO3CuRkZG/rYo6X1PmQsUtmtCQoJscGxhfYRBTk5Oyjo+e0AyEC4fpImoqCi9qEYff/jOcm2z0EpLS3Hw4EHZYMk8pPPw8HBhn9lxrjgoDIAcTqMc2EsVdtrHjx9lYDOQ+vp6eHt7yxZGYadxQyPoms+WakPf88uxzeWmoKBANkneY4qKiuDl5YWBgQG5o81eMPQChfz4/v17vHv3ThQzgZr7CwNmUklXBw4cWFL8DJoz7fnz59r3zp07J/cXjXCgUz95e7VlObb7+/tRVVUl7EHK5pbJhYcFR5qbLXqBMl8yeDvnlkHe1GeTmU83QePF8tixY8LfqymraXvFQSHl8OEl808If7aYfc/4Ezbm0rlatlcclNVM0v/VlgqKApFVQVFBUWAGFOiS2ikqKArMgAJdUjtFgaD8Ar6m8bmr8ovgAAAAAElFTkSuQmCC" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;">) 中的最大值
@smin(aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGUAAAAiCAYAAABGIRcbAAAFWElEQVRoQ+1ZWUiVaxRdmpZomlmUSg5FWBb1kkpaWqDiUBqhiA1EUVIgRJhmhgNOKKghomLqgw/6YEY0WFZQBkFKJmiYQT6YAw6UmAMOSRprwzl4btfpaPbfy7/hf/Cc79/T2nvt/R0NZmZmZqCKojJgoIKiKDzEGRUU5WGigqJATFRQVFCUmAEF+qTOFBUUBWZAgS6pnaKCosAMKNAltVNUUBSYAQW6pHaKCooCM6BAl9RO+S+AMjg4iMrKSvz48QOGhoZwc3NDQ0MDRkdHcf78eWzdulXvMH7+/IknT56gq6sL3759Q1BQEBobG/H9+3ccOnQIHh4eeuv+2y92dnbi4cOHmJqawpYtW2Bra4vW1lYw5kuXLsHMzGzRLup0ysTEBB49eoSAgAAYGxsjKytLlLu7u+PWrVtITU3Fvn37RDmNNzc3Y8+ePTA1NV2UwdraWtG3a9cuPH36FM+ePUN0dDTy8/Pls4sXL2J8fBx3797Fly9fYGlpiQsXLsDCwmJR+v/WIRbyy5cvceLECYyNjeHmzZtScObm5rhz5w4yMjJgZ2e3aPd0QGH18tm9e7d0RlJSEk6fPo29e/eit7cXDg4O0j3V1dX48OED+vr6BKgNGzYsaJAg8p39+/cL4OXl5RgZGcHly5fR0dEBGxsbmJiYoKamBk5OTnB0dERZWRnWrl2Ls2fPwsDAYEEbf+sAu4Rib28veUpPT8f169dhZWUleWQhLsX/OWdKW1sbbt++jcTEREnYP4WJLCwslA5aDCiz32c10XFfX18cPXpU+xUp8/79+wgODpbuI7Wxo2JiYgSw+YTVSn8OHz6MI0eO6BwlAxQXF2Pbtm1SzWvWrNF+z2KpqKiQv8+cOSMFsxypq6vDvXv3kJycjPXr1+ulSgcUOkjaIOJsRyZFk5CWlhbs2LFDS1VLBYX/de7u7pb3WT1s6bi4OOk+Vtf09DQ2bdqE7OxsSaqnp6d05KdPn3Dt2rUFk9XT04P4+Hj4+/sjLCxMJxnDw8NISUnBzp07ERERoQMKAcvNzZXztLMQ+P+WZergnNR0N89wjjAmzhUyz9evXyUe6t+8ebPQ/9DQEE6dOvVbbDqgEGUmJS0tTWYLOZ30Qkp7/fo1Tp48qQ1oqaBQR2xsrJZrWU2ZmZlSTQ8ePBAgCAqXCrb7xo0bkZOTg9DQUJlbShbG8uLFC4mP85EMEBgYiPb2dnz+/Bl+fn548+aNzBievXHjBlikeXl5uHr16m9MowMK0S4pKZHkuLq64tWrV5IcKgsJCdHZIOYChY5wQbhy5YrMD42wmqibFOXs7CyVw2fdunU4fvw4tm/frj1Lhx8/fgxra2vxQ8PHPE+gfHx85FlNmc92U1OTFDFz5eLiIhsmKZ90SXCMjIykM96+fSsFzkIjO3CuRkZG/rYo6X1PmQsUtmtCQoJscGxhfYRBTk5Oyjo+e0AyEC4fpImoqCi9qEYff/jOcm2z0EpLS3Hw4EHZYMk8pPPw8HBhn9lxrjgoDIAcTqMc2EsVdtrHjx9lYDOQ+vp6eHt7yxZGYadxQyPoms+WakPf88uxzeWmoKBANkneY4qKiuDl5YWBgQG5o81eMPQChfz4/v17vHv3ThQzgZr7CwNmUklXBw4cWFL8DJoz7fnz59r3zp07J/cXjXCgUz95e7VlObb7+/tRVVUl7EHK5pbJhYcFR5qbLXqBMl8yeDvnlkHe1GeTmU83QePF8tixY8LfqymraXvFQSHl8OEl808If7aYfc/4Ezbm0rlatlcclNVM0v/VlgqKApFVQVFBUWAGFOiS2ikqKArMgAJdUjtFgaD8Ar6m8bmr8ovgAAAAAElFTkSuQmCC" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;">) 取(aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGUAAAAiCAYAAABGIRcbAAAFWElEQVRoQ+1ZWUiVaxRdmpZomlmUSg5FWBb1kkpaWqDiUBqhiA1EUVIgRJhmhgNOKKghomLqgw/6YEY0WFZQBkFKJmiYQT6YAw6UmAMOSRprwzl4btfpaPbfy7/hf/Cc79/T2nvt/R0NZmZmZqCKojJgoIKiKDzEGRUU5WGigqJATFRQVFCUmAEF+qTOFBUUBWZAgS6pnaKCosAMKNAltVNUUBSYAQW6pHaKCooCM6BAl9RO+S+AMjg4iMrKSvz48QOGhoZwc3NDQ0MDRkdHcf78eWzdulXvMH7+/IknT56gq6sL3759Q1BQEBobG/H9+3ccOnQIHh4eeuv+2y92dnbi4cOHmJqawpYtW2Bra4vW1lYw5kuXLsHMzGzRLup0ysTEBB49eoSAgAAYGxsjKytLlLu7u+PWrVtITU3Fvn37RDmNNzc3Y8+ePTA1NV2UwdraWtG3a9cuPH36FM+ePUN0dDTy8/Pls4sXL2J8fBx3797Fly9fYGlpiQsXLsDCwmJR+v/WIRbyy5cvceLECYyNjeHmzZtScObm5rhz5w4yMjJgZ2e3aPd0QGH18tm9e7d0RlJSEk6fPo29e/eit7cXDg4O0j3V1dX48OED+vr6BKgNGzYsaJAg8p39+/cL4OXl5RgZGcHly5fR0dEBGxsbmJiYoKamBk5OTnB0dERZWRnWrl2Ls2fPwsDAYEEbf+sAu4Rib28veUpPT8f169dhZWUleWQhLsX/OWdKW1sbbt++jcTEREnYP4WJLCwslA5aDCiz32c10XFfX18cPXpU+xUp8/79+wgODpbuI7Wxo2JiYgSw+YTVSn8OHz6MI0eO6BwlAxQXF2Pbtm1SzWvWrNF+z2KpqKiQv8+cOSMFsxypq6vDvXv3kJycjPXr1+ulSgcUOkjaIOJsRyZFk5CWlhbs2LFDS1VLBYX/de7u7pb3WT1s6bi4OOk+Vtf09DQ2bdqE7OxsSaqnp6d05KdPn3Dt2rUFk9XT04P4+Hj4+/sjLCxMJxnDw8NISUnBzp07ERERoQMKAcvNzZXztLMQ+P+WZergnNR0N89wjjAmzhUyz9evXyUe6t+8ebPQ/9DQEE6dOvVbbDqgEGUmJS0tTWYLOZ30Qkp7/fo1Tp48qQ1oqaBQR2xsrJZrWU2ZmZlSTQ8ePBAgCAqXCrb7xo0bkZOTg9DQUJlbShbG8uLFC4mP85EMEBgYiPb2dnz+/Bl+fn548+aNzBievXHjBlikeXl5uHr16m9MowMK0S4pKZHkuLq64tWrV5IcKgsJCdHZIOYChY5wQbhy5YrMD42wmqibFOXs7CyVw2fdunU4fvw4tm/frj1Lhx8/fgxra2vxQ8PHPE+gfHx85FlNmc92U1OTFDFz5eLiIhsmKZ90SXCMjIykM96+fSsFzkIjO3CuRkZG/rYo6X1PmQsUtmtCQoJscGxhfYRBTk5Oyjo+e0AyEC4fpImoqCi9qEYff/jOcm2z0EpLS3Hw4EHZYMk8pPPw8HBhn9lxrjgoDIAcTqMc2EsVdtrHjx9lYDOQ+vp6eHt7yxZGYadxQyPoms+WakPf88uxzeWmoKBANkneY4qKiuDl5YWBgQG5o81eMPQChfz4/v17vHv3ThQzgZr7CwNmUklXBw4cWFL8DJoz7fnz59r3zp07J/cXjXCgUz95e7VlObb7+/tRVVUl7EHK5pbJhYcFR5qbLXqBMl8yeDvnlkHe1GeTmU83QePF8tixY8LfqymraXvFQSHl8OEl808If7aYfc/4Ezbm0rlatlcclNVM0v/VlgqKApFVQVFBUWAGFOiS2ikqKArMgAJdUjtFgaD8Ar6m8bmr8ovgAAAAAElFTkSuQmCC" style="font-size: inherit; color: inherit; line-height: inherit; padding: 0px; margin: 0px auto; max-width: 100%; display: inline-block; vertical-align: middle;">) 中的最小值

2.2 集循环函数

集循环函数用于遍历整个集,其基本语法如下:

@function(setname[(set_index_list)[|conditional_qualifier]]:
expression_list);

@function相应于下面罗列的四个集循环函数之一;setname是要遍历的集;set_ index_list是集索引列表;conditional_qualifier是用来限制集循环函数的范围,当集循环函数遍历集的每个成员时,LINGO都要对conditional_qualifier进行评价,若结果为真,则对该成员执行@function操作,否则跳过,继续执行下一次循环。expression_list是被应用到每个集成员的表达式列表,当用的是@for函数时,expression_list可以包含多个表达式,其间用逗号隔开。这些表达式将被作为约束加到模型中。当使用其余的三个集循环函数时,expression_list只能有一个表达式。如果省略set_index_list,那么在expression_list中引用的所有属性的类型都是setname集。

2.2.1 @for

@for函数用来对集中的成员形成约束。

例:产生序列[1,4,9,16,25]

sets:
nums/1..5/: x;
endsets

@for(nums(i): x(i)=i^2);

2.2.2 @sum

@sum函数返回遍历指定集成员的一个表达式的和

例:求[1,2,3,4,5,6,7]中前五个数的和

sets:
nums/1..7/: x;
endsets

@for(nums(i): x(i)=i);

s = @sum(nums(i) | i #le# 5: x(i));

2.2.3 @max,@min

这两个函数分别用于返回指定集成员的一个表达式的最大值和最小值

例:求[1,2,3,4,5,6,7,8,9,10]中前五个数的最大值,后五个数的最小值

sets:
nums/1..10/: x;
endsets

@for(nums(i): x(i)=i);

min_value = @max(nums(i) | i #le# 5: x);
max_value = @min(nums(i) | i #ge# 6: x);

2.2.4 变量界定函数

该函数主要是对决策变量做附加限制,一般用于@for函数中,主要有如下四种:

函数 说明
@bin(x) 限制x为0或1
@bnd(a,x,b) 限制x取a到b之间的值
@free(x) x取实数
@gin(x) x取整数

2.2.5 说明

Lingo中还有其他大量的函数,比如金融函数、概率函数、变量界定函数,由于目前博主占时用不上,所以就暂且不记录了,待需要时再做进一步更新。

三、待更新

Lingo基本操作的更多相关文章

  1. Lingo解决最优化问题

    目录 Lingo解决优化问题 前言 一.优化模型介绍 二.运输问题 2.1 问题描述 2.2 问题分析 2.2 优化模型构建 2.3 模型求解 2.4 求解结果 三.待更新 Lingo解决优化问题 @ ...

  2. Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作

    一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...

  3. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

  4. Android Notification 详解——基本操作

    Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...

  5. 三、Redis基本操作——List

    小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...

  6. 二、Redis基本操作——String(实战篇)

    小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...

  7. 一、Redis基本操作——String(原理篇)

    小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...

  8. Linq查询基本操作

    摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...

  9. C++ map的基本操作和使用

    原文地址:http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可 ...

随机推荐

  1. January 17 2017 Week 3 Tuesday

    You can't shake hands with a clenched fist. 紧握拳头你就无法与他人握手. If you want to shake hands with others, j ...

  2. 获取DataTable某一列的所有值

    /// <summary> /// 获取某一列的所有值 /// </summary> /// <typeparam name="T">列数据类型 ...

  3. 为网页元素增加resize事件

    默认只有window支持resize事件,但有时我们需要为div等元素添加resize事件 代码见下面,原理是在元素内添加一个内嵌html,然后监听这个内嵌html的resize事件 import { ...

  4. Webpack笔记(一)——从这里入门Webpack

    准备了挺久,一直想要好好深入了解一下Webpack,之前一直嫌弃Webpack麻烦,偏向于Parcel这种零配置的模块打包工具一些,但是实际上还是Webpack比较靠谱,并且Webpack功能更加强大 ...

  5. 树莓派(Raspberry Pi)上手小记

    引言 本日志中有不少软广告,博主并没有收他们任何好处,完全是给想入手的小伙伴们指条路而已.不喜勿看,不喜勿闻,不喜勿喷. 介绍 之前两三个月突然听说了这么个东西,也没有留意,某天突然在一个微信公众号上 ...

  6. 详解为什么32位系统只能用4G内存.

    本文转自:https://www.cnblogs.com/nvd11/archive/2013/04/02/2996784.html,感谢作者的干货 既然是详解, 就从最基础的讲起了. 1. Bit( ...

  7. BZOJ4602:[SDOI2016]齿轮(并查集)

    Description 现有一个传动系统,包含了N个组合齿轮和M个链条.每一个链条连接了两个组合齿轮u和v,并提供了一个传动比x  : y.即如果只考虑这两个组合齿轮,编号为u的齿轮转动x圈,编号为v ...

  8. Selenium基础知识(元素定位的调试)

    对一个不能直接定位的元素来说,调试是很常见的事,所以这里也简单总结了一下. 调试定位元素的工具很多,介绍也多,就不一一介绍了.下次有时间再补充.以下是我常用调试的方法(浏览器自带的控制台调试,仅介绍一 ...

  9. 十三、IntelliJ IDEA 中的版本控制介绍(下)

    我们已经简单了解了 IntelliJ IDEA 的版本控制机制,那么接下来,就让我们一起看看在 IntelliJ IDEA 中进行具体的版本控制操作. 标注1:Checkout from Versio ...

  10. diogo谈框,仿prompt()方法布局

    展示效果: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...