幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2764|回复: 6

[通用编程] 省点事

[复制链接]

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
发表于 2009-4-22 19:54:46 | 显示全部楼层 |阅读模式
dmd 1.034 + tango 0.99.8
  1. import tango.util.log.Trace;
  2. import tango.sys.Process;
  3. import tango.io.stream.lines;
  4. void main(char[][] args)
  5. {
  6.     if(args.length <= 1)
  7.     {
  8.         Trace.formatln("没有输入参数!");
  9.         return;
  10.     }
  11.    
  12.     if(args[1] == "gui")
  13.     {
  14.         args[1] = "-L/exet:nt/su:windows:4.0";
  15.         Trace.formatln("GUI模式 :");
  16.         run(args[1..$]);
  17.     }
  18.     else
  19.     {
  20.         run(args[1..$]);
  21.     }
  22.    
  23.     Trace.formatln("编译完成!");
  24. }
  25. void run(char[][] p)
  26. {
  27.     char[] t;
  28.     foreach(char[] c; p)
  29.     {
  30.         t ~= (c ~ " ");
  31.     }
  32.     Process dmd = new  Process(("dmd " ~ t));
  33.     dmd.execute;
  34.     foreach(line; new Lines!(char)(dmd.stdout))
  35.     {
  36.         Trace.formatln("{}", line);
  37.     }
  38.    
  39. }
复制代码
え~え~お!!!
回复

使用道具 举报

8

主题

215

帖子

2223

积分

⑥精研

积分
2223
发表于 2009-4-23 14:41:03 | 显示全部楼层
小改
  1. import tango.io.stream.lines;
  2. import tango.sys.Process;
  3. import Util = tango.text.Util;
  4. import tango.util.log.Trace;
  5. void main(char[][] args)
  6. {
  7.     if(args.length <= 1)
  8.     {
  9.         Trace.formatln("没有输入参数!");
  10.         return;
  11.     }
  12.    
  13.     if(args[1] == "gui")
  14.     {
  15.         args[1] = "-L/exet:nt/su:windows:4.0";
  16.         Trace.formatln("GUI模式 :");
  17.     }
  18.     run(args[1..$]);
  19.    
  20.     Trace.formatln("编译完成!");
  21. }
  22. void run(char[][] p)
  23. {
  24.     char[] t = Util.join(p, " ");
  25.     Process dmd = new Process(("dmd " ~ t));
  26.     dmd.execute;
  27.     foreach(line; new Lines!(char)(dmd.stdout))
  28.     {
  29.         Trace.formatln("{}", line);
  30.     }
  31. }
复制代码
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
 楼主| 发表于 2009-4-23 15:01:38 | 显示全部楼层
原来库里有现成的函数,学习了.
え~え~お!!!
回复 支持 反对

使用道具 举报

8

主题

215

帖子

2223

积分

⑥精研

积分
2223
发表于 2009-4-23 16:49:36 | 显示全部楼层
我是猜它有然后去查了一下……果然有,呵呵
join这函数在好一点的库里都应该有。然则Java的标准库里很可耻的没有……
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
 楼主| 发表于 2009-4-23 17:53:06 | 显示全部楼层
看来,要掌握好一门语言,还需要掌握好一个库的方方面面。
但是tango这个库每次都有莫名其妙的变动。唉,抱怨一下...
4月份,d的排名终于下降了一位,哈哈~,不是没有原因的啊。
え~え~お!!!
回复 支持 反对

使用道具 举报

8

主题

215

帖子

2223

积分

⑥精研

积分
2223
发表于 2009-4-23 21:11:38 | 显示全部楼层
嗯……学习语言的几个层次:
1、语法
2、语义
3、语用
对常用库掌握不足的话,第三个层次就很难说达到了。
不过用的东西多了之后,再接触新的库时很多时候只要去找你觉得肯定会有的功能对应的具体API就行,毕竟解决同一个领域的问题的库,抽象概念肯定是相似的,提供的功能肯定是接近的;差别主要是API的设计,例如是叫begin还是start之类的细微地方可能不同。
回复 支持 反对

使用道具 举报

136

主题

1751

帖子

548

积分

版主

Rank: 7Rank: 7Rank: 7

积分
548
 楼主| 发表于 2009-4-24 18:03:27 | 显示全部楼层
怪不得,目前我就对c99的库还能有点印象,其他的库,一概不熟悉。
え~え~お!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-11-1 08:01 , Processed in 0.031943 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表