免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 104359176
打印 上一主题 下一主题

[悬赏4000积分]不使用迭代或递归创建一个数据发生器 [复制链接]

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
11 [报告]
发表于 2014-06-19 11:15 |只看该作者
我是真不喜欢 LISP的一圈圈的 ().

更主要的, 我根本不知道LISP是用来做什么为主的语言.

论坛徽章:
0
12 [报告]
发表于 2014-06-19 11:22 |只看该作者
这个应该可以使用Perl的closure 特性来完成。

  1. #!/usr/bin/perl

  2. sub counter {
  3.     my $start = shift;
  4.     return sub { $start++; };
  5. }

  6. my $counter_1 = counter(0);
  7. my $counter_2 = counter(10);

  8. print $counter_1->();   #0
  9. print $counter_1->();   #1
  10. print $counter_1->();   #2

  11. print $counter_2->();   #10
  12. print $counter_2->();   #11
  13. print $counter_2->();   #12
复制代码

论坛徽章:
27
水瓶座
日期:2014-08-22 21:06:34程序设计版块每日发帖之星
日期:2015-11-25 06:20:0015-16赛季CBA联赛之新疆
日期:2015-12-19 19:05:48IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:31IT运维版块每日发帖之星
日期:2015-12-25 06:20:3315-16赛季CBA联赛之上海
日期:2016-04-15 19:51:31程序设计版块每日发帖之星
日期:2016-04-17 06:23:29程序设计版块每日发帖之星
日期:2016-04-23 06:20:00程序设计版块每日发帖之星
日期:2016-05-26 06:20:00每日论坛发贴之星
日期:2016-05-26 06:20:0015-16赛季CBA联赛之辽宁
日期:2017-02-16 23:59:47
13 [报告]
发表于 2014-06-19 13:40 |只看该作者
来一个超时的
  1. -module(add_myself).
  2. -compile(export_all).

  3. s()->
  4.         receive
  5.         after 1000 ->
  6.         {_,S,_} = erlang:now(),
  7.         io:format("~p~n",[S]),
  8.         s()
  9. end.
  10.        
复制代码

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
14 [报告]
发表于 2014-06-19 14:36 |只看该作者
回复 13# shijiang1130


    ErLang? 看起来好高端的样子...

论坛徽章:
1
狮子座
日期:2013-12-16 16:09:24
15 [报告]
发表于 2014-06-19 15:20 |只看该作者
climby 发表于 2014-06-19 11:22
这个应该可以使用Perl的closure 特性来完成。


+1 赞同

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
16 [报告]
发表于 2014-06-19 15:42 |只看该作者
回复 13# shijiang1130

兄弟, 你这是递归的.
   

求职 : 软件工程师
论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
17 [报告]
发表于 2014-06-19 20:36 |只看该作者
回复 10# q1208c


    Lisp 是用来写代码的语言,如果你使用的一种语言,频繁的用到一种文法,但语言本身没有,那么你只能期待语言的开发者修改读取器,改变语法解析规则,修改一大堆的 C 代码来加上这个特性,但如果这个特性不是普遍需求的话,你只能日复一日的写着重复的代码。就好象 Perl 中的 given .. when 文法,语言诞生20多年后才加上。而为了增加面向对象的简洁写法,只能开发 Perl 6了。

Lisp 不存在这种情况,文法的抽象是由程序员完成的。就好象设计一个函数一样简单。

Lisp 也有问题,就是他的括号,这让太多人远离这门语言。就好象 Python 的缩进,Javascript 的词法作用域,Ruby 的速度,Lua 的简陋,C 的类型声明,Haskell 的变量,Java 的语法,这些问题,让人们失去了学习一门语言的兴趣。

求职 : 软件工程师
论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
18 [报告]
发表于 2014-06-19 20:46 |只看该作者
回复 13# shijiang1130


    Erlang 学的不错啊,基本上看不懂了。

求职 : 软件工程师
论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
19 [报告]
发表于 2014-06-19 20:52 |只看该作者
迭代的代码,就是这个效果:
  1. #!perl

  2. use 5.010;

  3. sub count {
  4.     state $count = 0;
  5.     say $count++;
  6.     count();
  7. }

  8. count();
复制代码

求职 : 软件工程师
论坛徽章:
3
程序设计版块每日发帖之星
日期:2015-10-07 06:20:00程序设计版块每日发帖之星
日期:2015-12-13 06:20:00程序设计版块每日发帖之星
日期:2016-05-05 06:20:00
20 [报告]
发表于 2014-06-19 21:35 |只看该作者
这个问题很无聊,没有任何应用价值。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP