首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >scalac代码中的Shebangs

scalac代码中的Shebangs
EN

Stack Overflow用户
提问于 2011-11-11 08:55:25
回答 3查看 364关注 0票数 1

scala解释器允许shebangs,但奇怪的是,scalac会在它们上面使用。有没有像these这样的技巧来绕过这个缺陷?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-19 05:54:04

#!在scala中必须用!#结束。例如:

代码语言:javascript
复制
#!/bin/bash
script_dir=$(cd $(dirname "$0") >/dev/null; pwd -P)
classes_dir=${script_dir}/build/classes
src_dir=${script_dir}/src

mkdir -p ${classes_dir}
scalac -d ${classes_dir} $(find ${src_dir} -name '*.scala')

exec /usr/bin/scala -classpath ${classes_dir} "$0" "$@"
!#
票数 2
EN

Stack Overflow用户

发布于 2011-11-11 08:59:13

为什么不在构建脚本中调用scalac之前透明地剥离它们呢?

票数 0
EN

Stack Overflow用户

发布于 2011-11-11 18:11:16

我认为这不是“晦涩难懂的语法”的问题,而是一个“语言规范”的问题。

Wikipedia article on Shebang确实提到了:

由于#字符是许多脚本语言中的注释标记,因此解释器将自动忽略

行的内容。

一些不使用散列标记开始注释的语言解释器,例如 ,仍然可能会忽略shebang行

因此,如果scalac在其规范中没有将第一行作为"script header" like Scheme忽略的指令,我们需要等待您的Jira case 5179

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8088448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档