我只是在mac OSX 10.7.5上尝试D和rdmd。我可以得到"你好世界"如果我不使用rdmd编译并运行,但我还没有能够让rdmd工作。以下是相关文件:
Users-MacBook:DProjects user$ ls -l /usr/bin/rdmd
-rwxr--r-- 1 user staff 27391 May 26 13:53 /usr/bin/rdmd
Users-MacBook:DProjects user$ ls -l ./hello2.d
-rwxr--r-- 1 user staff 78 May 26 14:13 ./hello2.d
这是程序代码: 用户-MacBook:DProjects用户$ cat hello2.d
#!/usr/bin/rdmd
import std.stdio;
void main() {
writeln("Hello, world!");
}
当我尝试运行它时 - 用户 - MacBook:DProjects用户$ ./hello2.d
./hello2.d: line 2: import: command not found
./hello2.d: line 3: syntax error near unexpected token `('
./hello2.d: line 3: `void main() {'
似乎rdmd运行,但没有正确解释代码。
拜托,你能告诉我我做错了吗?
答案 0 :(得分:1)
看起来rdmd没有运行。 rdmd不会调用import
命令。这看起来像是来自shell的错误。
hello2.d的源和权限看起来很好,但文件大小已关闭。在UTF8 / ASCII中,使用\ n换行符,并且没有尾随换行符,应为75字节。 3个额外的字节表示BOM,这会干扰shebang(#!
)必须位于文件的最开头的要求。尝试保存为没有BOM的UTF8。