几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量

几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 (http://www.dimcax.com/hust/index.php)
-   ObjectARX(VB.NET/C#) (http://www.dimcax.com/hust/forumdisplay.php?f=176)
-   -   【转帖】风子 (http://www.dimcax.com/hust/showthread.php?t=9836)

yang686526 2009-04-21 03:26 PM

【转帖】风子
 
风子
(646316691) 15:25:13
请冷血儿colder介绍f#
冷血儿colder
(23450533) 15:25:29
[自定义表情]
独孤雪
(66781042) 15:25:38
还是出书吧
冷血儿colder
(23450533) 15:25:49
[自定义表情]
独孤雪
(66781042) 15:26:16
我先定一本
独孤雪
(66781042) 15:26:38
哪位老大能解决我的表格控件不能使用的问题
冷血儿colder
(23450533) 15:26:58
>我还是先把我自己翻译的文章再看一遍吧
光顾着翻译了 代码还没来得及研究
冷血儿colder
(23450533) 15:31:01
>to:风子
f#的最大特点就是简洁!
独孤雪
(66781042) 15:31:44
是简洁还是简单 
冷血儿colder
(23450533) 15:31:52
>简洁 不简单
独孤雪
(66781042) 15:32:20
这然话怎么这么熟悉啊
冷血儿colder
(23450533) 15:32:32
>kean说f#的代码在解决某些问题时 出奇的简洁 但这并不代表f#很容易学习
独孤雪
(66781042) 15:32:49
好像是一句广告词
四百多
(24390424) 15:33:18
简约而不简单?
冷血儿colder
(23450533) 15:33:27
>我出个题目
遍历模型空间和图纸空间中所有mtext对象 取出文字 用空格断开 再把得到的得有单词排序 每个单词一行 输出到cad命令行上
冷血儿colder
(23450533) 15:33:59
>你估计这个程序 代码要多少行?
四百多
(24390424) 15:34:01
有实际作用么
冷血儿colder
(23450533) 15:34:17
>不需动手操作 只是估计下 会有多少行代码
四百多
(24390424) 15:34:43
我觉得400
冷血儿colder
(23450533) 15:34:48
...
四百多
(24390424) 15:35:04
四百多
冷血儿colder
(23450533) 15:35:05
>不愧为"四百多"啊
冷血儿colder
(23450533) 15:35:18
>用c#写 应该不用那么多吧?
四百多
(24390424) 15:35:34
过程的化会少点吧
四百多
(24390424) 15:35:50
100
晨昕
(110849933) 15:35:51
用不到
四百多
(24390424) 15:35:53
多?
四百多
(24390424) 15:36:24
过滤,30
冷血儿colder
(23450533) 15:37:23
>假设有3个mtext对象
xyz
1234
how are you?
>要求结果是:
1234
are
how
xyz
you?
冷血儿colder
(23450533) 15:38:06
>我想知道用c#写 保守的估计会有多少行
然后我再展示下f#代码 这样就说明f#的简洁了!
四百多
(24390424) 15:38:25
有意思呢。
四百多
(24390424) 15:39:29
每个单词也要排?
冷血儿colder
(23450533) 15:41:08
>是的 要用空格拆分
四百多
(24390424) 15:41:44
那一共怎么也要150
四百多
(24390424) 15:42:21
要自己写排序撒
冷血儿colder
(23450533) 15:42:45
>怎么都行 借用.net的能力 越省代码越好
四百多
(24390424) 15:43:21

冷血儿colder
(23450533) 15:43:29
>前期的一些变量 doc bt ms ps
这些不说了 大家都一样
冷血儿colder
(23450533) 15:44:55
>我说下kean写的代码
三个用于调用的函数
extracttext用于提取mtext的内容 5行
printlist用于输出字符串数组 4行
words用于以空格拆分字符串 1行
最后的主程序 1行
四百多
(24390424) 15:45:33
哇,函数里面不要代码啊?
冷血儿colder
(23450533) 15:46:12
let extracttext (x : objectid) =
let obj = tr.getobject(x, openmode.forread)
match obj with
| :? mtext -> [(obj :?> mtext).contents]
| _ -> []
>这是提取文字内容的函数
参数是cad里的对象
是mtext就取内容 不是拉倒
冷血儿colder
(23450533) 15:46:51
let rec printlist x =
match x with
| h :: t -> ed.writemessage("\n" + h); printlist t
| [] -> ed.writemessage("\n")
>这是输出字符串表的递归函数 输出完为止
冷血儿colder
(23450533) 15:47:26
let words = string.split [' ']
>这是拆分字符串的函数 f#核心库自带的
四百多
(24390424) 15:47:46
。net也有
冷血儿colder
(23450533) 15:48:33
seq.untyped_to_list ms @ seq.untyped_to_list ps |> list.map extracttext |> list.flatten |> list.map words |> list.flatten |> set.of_list |> set.to_list |> printlist
>这是超变态的cad命令主程序 按f#语法规则 算一行
四百多
(24390424) 15:48:52
看不懂
冷血儿colder
(23450533) 15:50:30
seq.untyped_to_list ms @ seq.untyped_to_list ps
>遍历ms(模型空间)所有对象 返回表 再加上ps的
遍历结果中的每一项 使用extracttext处理
返回的二维表压平成一维表 再用words函数遍历
再压平 然后排序 最后输出
四百多
(24390424) 16:12:24
写了一下,35行。
四百多
(24390424) 16:39:29
25
指南针
(410737612) 20:28:47
有做过autodesk map导出shp格式的吗?
c#最适合开发autocad,因为它拥有vb容易的特点,却具有vc++的强大功能。
全部连在一起,有点乱!


所有的时间均为北京时间。 现在的时间是 11:44 AM.