动态语言

Less (一种动态样式语言)

你说的曾经没有我的故事 提交于 2020-04-01 03:22:06
Less (一种动态样式语言)。 LESS是一种由Alexis Sellier设计的 动态层叠样式表语言 ,受Sass所影响,同时也影响了Sass的新语法:SCSS。 LESS是开源的,其第一个版本由Ruby写成,但在后续的版本当中,Ruby逐渐被替换为JavaScript。受益于JavaScript,LESS可以在客户端上运行(IE6+、Webkit、Firefox),也可以在服务端运行(Node.js、Rhino)。 在语法方面,LESS与CSS较为接近,一个合法的CSS代码段本身也是一段合法的LESS代码段。 LESS 提供 变量、嵌套、混合、操作符、函数 等一般编程所需的抽象机制。 例子: Windows操作系统需要安装下面的这个工具: WinLess工具 http://winless.org/ 注意:第一次运行,需要添加你的less文件所在的文件夹, 后缀名必须全部是小写字母.less 。 【在编写less的时候一定要先运行这个软件,保存文件的时候才会自动编译.css文件。】 运行WinLess之后,你就可以在任何编辑器中打开less文件进行编辑,只要保存文件,它就会自动生成对应的一个.css文件(并压缩,包括去掉注释)。 相关网站【推荐阅读】: LESS官方网站 http://lesscss.org/ LESS中国官网 http://www.lesscss.net/

Web前端一种动态样式语言-- Less

故事扮演 提交于 2020-03-23 13:07:15
变量 变量允许我们单独定义一系列通用的样式,然后在需要的时候去调用。所以在做全局样式调整的时候我们可能只需要修改几行代码就可以了。 // LESS @color: #4D926F; #header { color: @color; } h2 { color: @color; } /* 生成的 CSS */ #header { color: #4D926F; } h2 { color: #4D926F; } 混合 混合可以将一个定义好的class A轻松的引入到另一个class B中,从而简单实现class B继承class A中的所有属性。我们还可以带参数地调用,就像使用函数一样。 // LESS .rounded-corners (@radius: 5px) { border-radius: @radius; -webkit-border-radius: @radius; -moz-border-radius: @radius; } #header { .rounded-corners; } #footer { .rounded-corners(10px); } /* 生成的 CSS */ #header { border-radius: 5px; -webkit-border-radius: 5px; -moz-border-radius: 5px; } #footer {

静态语言与动态语言,强类型语言与弱类型语言

杀马特。学长 韩版系。学妹 提交于 2020-03-05 04:39:08
Dynamic Programming Language (动态语言或动态编程语言) Dynamically Typed Language (动态类型语言) Statically Typed Language (静态类型语言) 动态语言,准确地说,是指程序在运行时可以改变其结构:新的函数可以被引进,已有的函数可以被删除等在结构上的变化。比如众所周知的ECMAScript(JavaScript)便是一个动态语言。除此之外如Ruby、Python等也都属于动态语言,而C、C++等语言则不属于动态语言。 动态类型语言:是指在运行期间才去做数据类型检查的语言。在用动态语言编程时,不用给变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。 所谓的动态类型语言,意思就是类型的检查是在运行时做的,比如如下代码是不是合法的要到运行时才判断(注意是运行时的类型判断): def sum(a, b): return a + b 而静态类型语言的类型判断是在运行前判断(如编译阶段),比如C#就是一个静态类型语言,静态类型语言为了达到多态会采取一些类型鉴别手段,如继承、接口,而动态类型语言却不需要,所以一般动态语言都会采用dynamic typing,常出现于脚本语言中。(idior不知道这能不能回答你对动态语言多态的疑问^_^) 静态类型语言:与动态类型语言刚好相反

设计模式(23)--Visitor--访问者模式--行为型

流过昼夜 提交于 2020-02-27 09:13:38
作者QQ:1095737364 QQ群:123300273 欢迎加入! 1.模式定义:     访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。 2.模式特点:     访问者模式把数据结构和作用于结构上的操作解耦合,使得操作集合可相对自由地演化。访问者模式适用于数据结构相对稳定算法又易变化的系统。因为访问者模式使得算法操作增加变得容易。若系统数据结构对象易于变化,经常有新的数据对象增加进来,则不适合使用访问者模式。 3.使用场景:     (1)数据结构稳定,作用于数据结构的操作经常变化的时候。     (2)当一个数据结构中,一些元素类需要负责与其不相关的操作的时候,为了将这些操作分离出去,以减少这些元素类的职责时,可以使用访问者模式。     (3)有时在对数据结构上的元素进行操作的时候,需要区分具体的类型,这时使用访问者模式可以针对不同的类型,在访问者类中定义不同的操作,从而去除掉类型判断。     (4)假如一个对象中存在着一些与本对象不相干(或者关系较弱)的操作,为了避免这些操作污染这个对象,则可以使用访问者模式来把这些操作封装到访问者中去。     (5)假如一组对象中,存在着相似的操作,为了避免出现大量重复的代码,也可以将这些重复的操作封装到访问者中去。     

强类型语言和静态类型语言有什么区别?

蹲街弑〆低调 提交于 2020-02-08 17:27:15
另外,一方是否意味着另一方? #1楼 强类型意味着类型之间的转换之间存在限制。 静态类型意味着类型不是动态的 - 一旦创建变量,就无法更改变量的类型。 #2楼 这经常被误解,所以让我澄清一下。 静态/动态打字 静态类型 是类型绑定到 变量的位置 。 在编译时检查类型。 动态类型 是类型绑定到 值的位置 。 在运行时检查类型。 所以在Java中例如: String s = "abcd"; s 将“永远”成为一个 String 。 在它的生命中它可能指向不同的 String (因为 s 是Java中的引用)。 它可能具有 null 值,但它永远不会引用 Integer 或 List 。 那是静态打字。 在PHP中: $s = "abcd"; // $s is a string $s = 123; // $s is now an integer $s = array(1, 2, 3); // $s is now an array $s = new DOMDocument; // $s is an instance of the DOMDocument class 这是动态打字。 强/弱打字 (编辑提醒!) 强类型 是一个没有广泛认同意义的短语。 大多数程序员使用这个术语来表示静态类型以外的东西,使用它来暗示存在由编译器强制执行的类型规则。 例如,CLU有一个强类型系统

Python之路 - Day1 - Python基础1

佐手、 提交于 2020-02-07 00:37:45
本节内容 Python介绍 发展史 Python 2 or 3? 安装 Hello World程序 变量 用户输入 模块初识 .pyc是什么 数据类型初识 数据运算 表达式if ...else语句 表达式for 循环 break and continue 表达式while 循环 作业需求 一、 Python介绍 Python的创始人为吉多·范·罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范·罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。 最新的TIOBE排行榜,Python占据第三,仅次于Java和C。 Python崇尚优美、清晰、简单,是一个优秀并被广泛使用的语言。 由上图可见,Python整体呈上升趋势,反映出Python应用越来越广泛并且也逐渐得到业内的认可!!! Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(美国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。 目前Python主要应用领域: 云计算: 云计算最火的语言, 典型应用OpenStack WEB开发:

中文编程项目

时光总嘲笑我的痴心妄想 提交于 2020-01-20 21:38:15
中科院的木兰编程语言,主要用在编程科普活动,支持少儿编程教育的可视化编程环境,能在单片机上运行,节约推广成本 https://zhuanlan.zhihu.com/p/103466647 一名大学生设计的文言文编程,在线代码编辑器,很漂亮 https://wy-lang.org/ 编写一门解释语言是很简单的事情,但是我们经常想的是如何做好事情,不计成本,而忽略了如何发掘商业价值。 groovy语言,用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性。 简单点说:谷歌写的敏捷开发语言,可以解释执行,功能和特性有点多,实现起来成本有点大。 一件事情有很多做法,市场化的思路也不同,所以准确定位是很重要的事情,如何定位好市场,需求和合理的成本,才是创业成功的关键,个人浅解,与大家共勉。 来源: CSDN 作者: 掌舵者科技 链接: https://blog.csdn.net/popman320/article/details/104055871

动态编程

一个人想着一个人 提交于 2020-01-18 08:26:51
侵删 https://www.cnblogs.com/wyh19941210/p/9628532.html 一、元数据的介绍 元数据是用来描述数据的数据(Data that describes other data) 。单单这样说,不太好理解,我来举个例子。下面是契诃夫的小说《套中人》中的一段,描写一个叫做瓦莲卡的女子: (她)年纪已经不轻,三十岁上下,个子高挑,身材匀称,黑黑的眉毛,红红的脸蛋--一句话,不是姑娘,而是果冻,她那样活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑,动不动就发出一连串响亮的笑声:哈,哈,哈! 这段话里提供了这样几个信息:年龄(三十岁上下)、身高(个子高挑)、相貌(身材匀称,黑黑的眉毛,红红的脸蛋)、性格(活跃,吵吵嚷嚷,不停地哼着小俄罗斯的抒情歌曲,高声大笑)。有了这些信息,我们就可以大致想像出瓦莲卡是个什么样的人。推而广之,只要提供这几类的信息,我们也可以推测出其他人的样子。这个例子中的"年龄"、"身高"、"相貌"、"性格",就是元数据,因为它们是用来描述具体数据/信息的数据/信息。 当然,这几个元数据用来刻画个人状况还不够精确。我们每个人从小到大,都填过《个人情况登记表》之类的东西吧,其中包括姓名、性别、民族、政治面貌、一寸照片、学历、职称等等......这一套元数据才算比较完备。 在日常生活中,元数据无所不在。有一类事物

c++语言 动态数组 讲解与实例

烂漫一生 提交于 2020-01-13 06:05:29
静态数组:c语言中数组的长度是固定的,也称为静态数组,而这种限制不甚合理。 动态数组:c++中数组有时候不用在编译时就知道长度,直到运行时才知道,这就是动态数组,也就是可以动态分配长度的数组。与静态数组变量区别是,动态分配的数组空间将一直存在,直到程序显式的释放它为止。 定义一个动态数组: int *p=new int[100]; p 就是一个动态数组,其实动态数组就是一个指针,使用 new 为 p 分配长度。 也可以通过这种方式初始化: int *p=new int[100](); 上面的语句等同于下面的语句: int n=100; int *p=new int[n]; 因为 n 是一个变量,所以数组的长度是动态的。 应用实例: int n=100; int *p=new int[n]; p 可以使用数组下标为其赋值: for(int i=0;i<n;i++) { p[i]=i+3; } 上面这种方式没有问题,但我想既然 p 是一个指针,那么使用指针操作一样也可以吧? for(int i=0;i<n;i++,p++) { *p=i; } 这样就可以了,将他们输出:(这时指针 p 又指向了最后) p--; for(int *p2=p-n;p2!=p;p--) { cout<<*p<<endl; } 动态空间释放实例: 重要的是不要忘记将动态创造的空间释放掉,语句是: delete

动态追踪技术-简介

前提是你 提交于 2019-12-31 02:03:44
个人认为此文对动态追踪的东西介绍比较宽泛,但可用于指导学习动态追踪技术知识。特此转载。原文地址: http://openresty.org/posts/dynamic-tracing/#rd?utm_source=tuicool&utm_medium=referral 动态追踪技术漫谈 关于作者 大家好,我是章亦春,网名 agentzh。很多朋友可能是通过我做的一些开源项目了解到我的,比如我创立的 OpenResty 开源项目,再比如我编写的很多 Nginx 的 第三方模块 ,我从大学时代就开始贡献的 Perl 开源模块 ,以及最近一些年写的很多 Lua 方面的库。我的兴趣比较广泛,喜欢抽象层次很高也比较花哨的东西,比如函数式和逻辑式编程语言;同时又对很底层的东西非常感兴趣,比如操作系统、Web 服务器、数据库、高级语言编译器等系统软件;尤其喜欢构建和优化较大规模的互联网应用系统。 什么是动态追踪 我很高兴能在这里和大家分享动态追踪技术(Dynamic Tracing)这个主题,对我个人来说也是一个很激动人心的话题。那么,什么是动态追踪技术呢? 动态追踪技术其实是一种后现代的高级调试技术。它可以帮助软件工程师以非常低的成本,在非常短的时间内,回答一些很难的关于软件系统方面的问题,从而更快速地排查和解决问题。它兴起和繁荣的一个大背景是,我们正处在一个快速增长的互联网时代,作为工程师