- 主题:用python的方式开发 C# F#
刚从C++转C#时, 觉得C# 不用include 很方便,
时间长了觉得这是一个设计失误, 类之间随意递归引用是不好的,
F# 严一些, 要求源码按顺序来, 前面的 .fs 不能引用后面的 .fs, 但也不需要明确说
明 一个源码文件依赖哪些其他源码
C# F# 所依赖的库也都是列在项目文件里而不是 代码 里;
感觉 python 的方式比较好, 每个 py 文件都要清楚的列出所 import 的库 或其他 py
文件;
所以写了个 py 程序用来构建 C# F# 程序, 不用 C# F# 的工程文件
在每个 .cs .fs 文件开头列出所依赖的 dll 和 其他 文件,
例如
/*#!python
[
['common.cs'],
['/unsafe'],
['/r:log4net.dll'],
['main', ' Console.WriteLine("hello,world,"+XXX.YYY); ']
]
*/
//对于 fs是 (*#!python *)
public class XXX
{
public int YYY=100;
}
然后 python 构建程序找出所有依赖, 编译构建
其中的 main 用来对没有 Main 入口的代码 添加 入口,
使得每个 cs 都可以单独运行, 测试功能
--
修改:ABCDEFGHJKLM FROM 103.216.43.*
FROM 114.253.35.*
good idea,但是这太丑陋了,为什么不用声明式的语法呢?
【 在 ABCDEFGHJKLM 的大作中提到: 】
:
: 刚从C++转C#时, 觉得C# 不用include 很方便,
:
: 时间长了觉得这是一个设计失误, 类之间随意递归引用是不好的,
: F# 严一些, 要求源码按顺序来, 前面的 .fs 不能引用后面的 .fs, 但也不需要明确说
#发自zSMTH@CDU.MP
--
FROM 113.143.107.*
就是python代码, 提取出来 exec
所以不需要设计语法
主要是 fsc csc 各种命令行选项没有统一的风格
【 在 VincentGe 的大作中提到: 】
good idea,但是这太丑陋了,为什么不用声明式的语法呢?
【 在 ABCDEFGHJKLM 的大作中提到: 】
:
: 刚从C++转C#时, 觉得C# 不用include 很方便,
:
: 时间长了觉得这是一个设计失误, 类之间随意递归引用是不好的,
: F# 严一些, 要求源码按顺序来, 前面的 .fs 不能引用后面的 .fs, 但也不需要明确说
#发自zSMTH@CDU.MP
--
修改:ae175b1bf388 FROM 114.253.35.*
FROM 114.253.35.*
py 程序 在哪里?
--
FROM 101.39.211.*
有2条给我的回复被吞了?
--
FROM 106.117.92.*
手动删的
实现了多文件的编译选项分析,合并
去掉了 option 函数名, exec 改成 eval
【 在 sanbeichahe 的大作中提到: 】
: 有2条给我的回复被吞了?
--
修改:ABCDEFGHJKLM FROM 103.216.43.*
FROM 103.216.43.*
附件(5.2KB) run-cs-fs.py感谢老哥。不过我以为你会开源直接传到GitHub上呢。
【 在 ABCDEFGHJKLM 的大作中提到: 】
: 手动删的
: 实现了多文件的编译选项分析,合并
: 去掉了 option 函数名, exec 改成 eval
: ...................
--
FROM 106.117.92.*
只是一个简单的思路, 源码还远没打磨到可以直接用的水平, 我还以为不会有人需要源码
【 在 sanbeichahe 的大作中提到: 】
感谢老哥。不过我以为你会开源直接传到GitHub上呢。
【 在 ABCDEFGHJKLM 的大作中提到: 】
: 手动删的
: 实现了多文件的编译选项分析,合并
: 去掉了 option 函数名, exec 改成 eval
: ...................
--
修改:ABCDEFGHJKLM FROM 103.216.43.*
FROM 103.216.43.*