北大侠客行MUD论坛

 找回密码
 注册
搜索
热搜: 新手 wiki 升级
查看: 5474|回复: 0

Hello World

[复制链接]
发表于 2004-7-23 02:03:16 | 显示全部楼层 |阅读模式
翻译: Vast@Pkuxkx

我们来看看Pike写的“Hello World”程序是什么样的。Pike有一个图形工具包,所以也可以写出基于窗口的"Hello World",也可以以交互的方式运行。
第一个Pike程序
      传统的编程语言教程都会用一个简单的程序来开头:一段在屏幕上显示“Hello World”这段文本的程序。用Pike语言写出来是这样的:

  1. int main()
  2. {
  3.         write("Hello world!\n");
  4.         return 0;
  5. }
复制代码

将这段程序写入一个文本文件,比如“hello.pike”,在命令行输入“pike hello.pike"就可以运行程序了。在图形界面下,可以通过双击程序图标,或者将图标直接拖入Pike解释器里面来运行。当然前提条件是你的电脑已经安装了Pike。
      程序运行的时候屏幕上会显示:Hello World!(图形界面下会弹出一个独立的窗口)
分析Hello World程序
      从程序中间的
  1. write("Hello world!\n");
复制代码
这段代码开始分析。
我们使用了内建的函数write来将文字输出到标准输出设备,通常是电脑屏幕。
     在紧跟write的两个圆括号之间的是需要传给函数的参数,在这个例子中只有一个参数---就是"Hello World"这段文本。双引号表明这是一个字符串,“\n”代表换行符。
      这一行程序不能单独存在,必须被更高层次的结构包含起来,也就是函数或者叫做方法。整段程序的意思就是存在一个叫做 main 的函数,这个函数可以像前面提到那样将一句话打印到输出设备上。main 前面的 int表示无论哪里用到这个函数,函数都会返回一个整数值。
      Pike在运行程序的时候总是从调用函数 main 开始,当main 执行完毕,程序就结束,并且返回一个值来表明程序是否按预计的那样成功执行。
      “;” 标明了一个语句的结束,这个程序有两个语句。在很久以前语句也叫做“程序行”,每行只能写一个语句,但是现在大多数编程语言允许按“自由格式”来书写程序,可以按照易于阅读的格式将程序分为很多行。
我希望看到这句问候语出现在一个窗口中!
       Pike支持图形用户界面,只要安装了Pike的GTK模块,然后再对程序稍作修改就可以了:

  1. int main()
  2. {
  3.         GTK.setup_gtk();
  4.         GTK.Alert("Hello world!");
  5.         return -1;
  6. }
复制代码

      语句GTK.setup_gtk();的调用和write差不多,不同之处在于setup_gtk()是在GTK模块里面的函数,所以要用前缀"GTK."来让Pike知道去哪里找到它。第二个语句建立了一个写着“Hello World”的窗口,如附图所示。点击"OK"按钮后,窗口消失。
     最后一句return -1;, 负数的返回值表示程序在 main 函数执行完毕后不会停止运行,这句话在这里是必要的,否则窗口会马上消失。那么程序什么时候才停止运行呢?答案是永远不会停止。即使关掉窗口,程序还是在继续。因此我们需要修改一下程序:

  1. int main()
  2. {
  3.         GTK.setup_gtk();
  4.         GTK.Alert("Hello world!");
  5. >      signal_connect("destroy", lambda() { exit(0); } );
  6.         return -1;
  7. }
复制代码

增加的这句话使得窗口关闭的同时程序也停止运行。
交互模式的Pike
       交互模式下运行Pike可以输入一行命令就立刻执行。不使用任何参数启动Pike,然后输入命令,举例说明:
  1. # pike
  2. Pike v7.4 release 1 running Hilfe v3.5 (Incremental Pike Frontend)
  3. > write("hello!\n");
  4. hello!
  5. Result: 7
复制代码

      Pike在新的一行显示出"hello!", 同时内建函数write也有返回值----输出字符的个数。(注意:换行符也是一个字符。)
      使用交互模式有利于进行测试,也可以将Pike用作一个高级的计算器。需要注意的是,有些东西在交互模式下和从程序文件直接运行并不一样。

译者注:直接翻译好像有很多废话,以后准备按大意进行翻译精华。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
北大侠客行Mud(pkuxkx.com),最好的中文Mud游戏!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|北大侠客行MUD ( 京ICP备16065414号-1 )

GMT+8, 2024-4-28 04:48 AM , Processed in 0.010715 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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