礼物说网站模板博物建设公司网站
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:30
当前位置: 首页 > news >正文
礼物说网站模板,博物建设公司网站,服装网站建设分析,河源市住房和城乡规划建设局网站Scheme定义 Scheme 编程语言是一种Lisp方言#xff0c;诞生于1975年#xff0c;由 MIT 的 Gerald J. Sussman 和 Guy L. Steele Jr. 完成。它是现代两大Lisp方言之一#xff1b;另一个方言是Common Lisp。 Scheme遵循极简主义哲学#xff0c;以一个小型语言核心作为标准诞生于1975年由 MIT 的 Gerald J. Sussman 和 Guy L. Steele Jr. 完成。它是现代两大Lisp方言之一另一个方言是Common Lisp。 Scheme遵循极简主义哲学以一个小型语言核心作为标准加上各种强力语言工具语法糖来扩展语言本身。 MIT曾用Scheme作为计算机系入门课程的编程语言。计算机程序语言界著名的魔法书《计算机程序的构造和解释》又称SICP正是利用Scheme来解释程序设计。 历史悠久的Scheme依然活跃拥有针对各种计算机平台和环境的实现例如Racket、Guile、MIT Scheme、Chez Scheme等。Guile是GNU工具体系里最重要的部件之一被许多自由软件和开源软件作为内置脚本语言使用。 历史与特点 Lisp 语言历史悠久在计算机程序语言里年龄仅次于Fortran。二十世纪五十年代计算机科学家先是发明了针对数字计算的 Fortran 语言后来针对符号计算由MIT 的John McCarthy于1960年开发出了Lisp (list processing语言。该语言起初为表处理而设计后来广泛用于人工智能。Lisp 程序中充满了一对对嵌套的小括号这些嵌套的符号表达式体现了递归。1994年时众多Lisp版本得到了相当的统一统一之后的版本称为Common LISP。Common Lisp带有庞大的函数库语言的规范长达千页以上包括面向对象的 CLOS。 Scheme语言的规范很短总共只有50页甚至连Common Lisp 规范的索引的长度都不到但是却被称为是现代编程语言王国的皇后。它与以前和以后的 Lisp 实现版本都存在一些差异。现特征如下 1括号嵌套:Lisp 程序中充满了一对对嵌套的小括号这些嵌套的符号体现了最基本的数学思想——递归。 2语法简洁Scheme语言的规范很短总共只有50页。 3函数编程语言 一个函数Function是这个编程语言中所谓的第一等的公民。也就是说函式可以像一个 int 或者 float 一样被很方便的传递来传递去。这也就是所谓“Functional编程语言”中Functional 一词的由来。 4自动内存管理 5支持尾递归提高了递归效率 6continuation 7可移植性好 Scheme开发的程序有很好的可移植性这是由于Scheme在不同的计算机平台有相应的解释器和编译器。 8脚本语言 由于scheme语法简洁一个Scheme解释器可以非常的小巧。Scheme可以作为脚本语言而内嵌于一些工具之中。 9数据结构 I.数字 下面都是合法的数字表示方法471/32.34.3e1413i。 II.字符 字符前面需要用#\做前缀。如下面都是合法字符#\a #\A #\b #\B #\space #\newline III.字符串由双引号括起来的字符组成字符串。如“A little string” IV布尔值布尔值True和False分别用 #t 和 #f 表示。 V.列表用圆括号括起来的可以包含任何数据类型的称为列表。如(a little (list of) (lists)) VI.数组vector用#为前缀如#1 2 “string” #\x 5 VII.函数或称为过程:把函数作为一种数据类型是包括Scheme语言在内的Lisp的特色。 VIII.符号 符号除了不能够以数字开头的任何字符可组成符号。如Symbols: this-is-a-symbol foo a32 c$23*473-is-a-symbol-too! IX.注释 分号开始一行注释。 如 3 1 ;return 4 Scheme应用实例 今天小编给大家讲解的这个例子是关于shareinstall的。我们知道Shareinstall其实是一个APP的推广辅助工具它主要的作用就是进行渠道统计。另外它还提供了免填二维码、一键跳转、自动渠道打包、自动建立社区关系等功能。而scheme语言主要应用在一键跳转功能上。 以IOS SDK为例ShareInstall通过标准的scheme、universal link等技术在app安装的情况下从各种浏览器微信、QQ、新浪微博、钉钉等主流社交软件的内置浏览器唤醒 app 并传递自定义参数避免重复安装。 我们可以从universal link配置作为载体去观察scheme的活跃性。如下 Universal link是iOS9的一个新特性通过Universal linkApp可以通过各种浏览器跳转到App例如微信内可不通过safari一键跳转到App真正实现一键跳转到相应界面。 备注iOS9以上推荐使用Universal link。 (1)配置developer.apple.com的相关信息 到苹果开发者中心为当前的App ID开启Associated Domains服务 (2)配置Xcode 在Xcode中配置ShareInstall为当前应用生成的关联域名Associated Domains 开关打开添加 Domains:applinks:f6bkarebhf22eb.shareinstall.com 在AppDelegate中的continueUserActivity方法中调用用来处理Universal link。 //Universal Links 通用链接 (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler { //判断是否通过ShareInstall Universal Links 唤起Appif ([ShareInstallSDK continueUserActivity:userActivity]) {return YES ;}else{//其他代码return YES;}} (3)配置App的URL Scheme iOS系统中App之间是相互隔离的通过URL Scheme, App之间可以相互调用并且可以传递参数。 备注iOS9以下通过Url Scheme实现拉起。 (4) 在Xcode里选中Target—Info—URL Types, 配置shareInstall为当前应用生成的Url Scheme如图所示 identifier 配置为 com.ShareInstallURL Schemes从shareInstall获取(dekf0466)。 注identifier 一定要配置为com.ShareInstall (5) URL Scheme相关代码配置 注意当需要在shareInstall这个方法中处理第三方回调的时候比如支付宝、微信回调等请注意区分。 //iOS9以下 URI Scheme -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{ //判断是否通过ShareInstall URL Scheme 唤起Appif ([ShareInstallSDK handLinkURL:url]) {return YES;}else{//其他代码return YES;}return YES;} //iOS9以上 URL Scheme (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(nonnull NSDictionary *)options { //判断是否通过ShareInstall URL Scheme 唤起Appif ([ShareInstallSDK handLinkURL:url]) {return YES;}else{//其他代码return YES;}return YES;} (6)获取唤醒参数直达具体页 通过在url中附带具体的参数唤醒app并跳转到具体页。 (void)getWakeUpParamsFromSmartInstall: (id) params withError: (NSError *) error{ NSLog(“唤醒参数params%”,params); UIAlertView *alert [[UIAlertView alloc] initWithTitle:“URL shceme 进来的” message:[self DataTOjsonString:params] delegate:nil cancelButtonTitle:“取消” otherButtonTitles:“确定”, nil]; //弹出提示框便于调试调试完成后删除此代码 [alert show]; } (7) 其他代码配置 如果做测试获取参数则必须在Appdelegate.h加上如下测试代码。 #pragma mark 将oc数据类型转成NSString -(NSString *)DataTOjsonString:(id)object { if (!object) {return null;}NSString *jsonString null;NSError *error;NSData *jsonData [NSJSONSerialization dataWithJSONObject:objectoptions:NSJSONWritingPrettyPrintederror:error];if (! jsonData) {NSLog(Got an error: %, error);} else {jsonString [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; }return jsonString;} 一键跳转的优势 通过 URL Scheme 和 Universal Links 实现了在不同浏览器中拉起APP。这样Shareinstall SDK就减少了应用的代码冗余提供了通用的一键拉起接口使用户有了更加舒适的体验同时给移动开发者对自己产品的管理和推广也提供了便利。
- 上一篇: 礼泉做网站share群组链接分享
- 下一篇: 礼县住房和城乡建设局网站建e网室内
相关文章
-
礼泉做网站share群组链接分享
礼泉做网站share群组链接分享
- 技术栈
- 2026年03月21日
-
礼泉住房和城乡建设局网站京东的网站建设分析
礼泉住房和城乡建设局网站京东的网站建设分析
- 技术栈
- 2026年03月21日
-
礼品行业网站建设网站扁平化设计风格
礼品行业网站建设网站扁平化设计风格
- 技术栈
- 2026年03月21日
-
礼县住房和城乡建设局网站建e网室内
礼县住房和城乡建设局网站建e网室内
- 技术栈
- 2026年03月21日
-
李沧做网站公司西宁最新消息今天
李沧做网站公司西宁最新消息今天
- 技术栈
- 2026年03月21日
-
李鸿星电子商务网站建设从0开始做网站
李鸿星电子商务网站建设从0开始做网站
- 技术栈
- 2026年03月21日
