`
RednaxelaFX
  • 浏览: 3039527 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

IronRuby in Action一书进入EAP

    博客分类:
  • DLR
阅读更多
链接:The IronRuby in Action book went into EAP today
IronRuby in Action在Manning的EAP链接:http://manning.com/carrero

Ivan Porto Carrero的新书,IronRuby in Action,在Manning Early Access Program上已经可以读到一部分。刚才读了其中的第一章。
觉得在很期待这本书的面世的同时,作者的观点可能不完全正确……或者是故意在一开始先以“比较大众”的方式去解释一些概念?
例如说,在1.2.1 Compiled and interpreted languages,
引用
A compiled language in the context of this book is a language that requires a compiler before it can be executed. VB.NET, C# and Java all require a compilation step before they can be executed.
...
An interpreted language means that the code you feed it; gets executed by an interpreter, whose job it is to analyze each statement it encounters and consequently execute the desired action. There is no error checking at compile time because there is no compile time.
...

如果加上“从用户的角度看”这个前提条件的话,上面的叙述是没什么问题,不过作者并没有明确提到这点。一个“解释器”的内部也可以是以“编译器+虚拟机”的形式组织的,只是从用户角度看不到而已……

对这本书最大的疑问是:在IronRuby还远远没有finalize的时候,这书相对最终的IronRuby 1.0.0.0到底能有多准确呢?拭目以待了~

============================================================================

话说现在IronRuby在RubyForge上的SVN repository的版本是revision 110。先前的版本build都没遇到这个问题,这次build的时候发觉出现了好几个错误——主要问题都是出在project property的target设置到了.NET Framework 2.0;那把target设到3.5呢?System.Action跟Microsoft.Scripting.Util.Action就冲突了……好奇怪,IronRuby小组内部的人是怎么build的?
System.Action<T>是.NET Framework 2.0就开始有的,但是System.ActionSystem.Action<T1,T2>一直到4个参数的版本都是.NET Framework 3.5才出现的,在System.Core里。

Anyway,把冲突的地方都指定为DLR里的Action就没问题了。

我是想关注一下Tomas Matousek在ironruby-core里提到的一句:
引用
Refactors Ruby blocks and procs:
-       The compiled block has now signature (BlockParam, self, formal-args) - self argument was added. Previously it was passed thru BlockParam.Proc in a very hacky way.
-       Removed hacks from dynamic actions on blocks and methods created by define_method. Improved rules generated for these actions.
-       RubyBlockInfo no longer inherits from RubyMemberInfo. There is no reason to do so, blocks are not directly stored in method tables and cannot be invoked via InvokeMemberAction.

Adds YieldAction - a custom Ruby action for yielding to a block that allows to pass BlockParam and self.
Implements module_eval/class_eval - both Proc and string versions.
Implements eval that takes Proc as a binding.
Adds module_eval and proc related unit tests.
...
Yes, they are 1st class. Some of the properties should be accessible, some not. There will be more cleanup later, after all operations are implemented. Some fields might move among classes (RubyBlockInfo, Proc, BlockParam) etc. The id is now 1:1 but might not be in future - some blocks could be compatible if they have the same signature shape.

Tomas

这个YieldAction在\trunk\src\ironruby\Runtime\Calls\YieldAction.cs。不过里面几乎是空的……或许还没实现?

[Ironruby-core] Code Review: zlib
John Lam 写道
non-nullable reference types (that's what the /*!*/ annotations mean).

啊……终于知道代码里的/*!*/是啥意思了。嗯很好……
分享到:
评论

相关推荐

    IronRuby博客中文版_多用户博客空间源码下载.rar

    IronRuby是Ruby编程语言的一个实现,它允许开发者在.NET Framework环境下运行Ruby代码。这个标题表明我们讨论的是一个基于IronRuby的多用户博客平台的源代码,这将涵盖以下几个核心主题: 1. **IronRuby**:...

    IronRuby开发包(Pre Alpha1)

    IronRuby 是 Ruby 编程语言在微软 .NET 平台上的一种实现。 IronRuby 与 Wilco Bauwer 的 IronRuby project 同名,2007年4月30日由微软于 MIX 上发表。并计划于2007年的 OSCON 公开推出。 2007年8月31日,John Lam...

    Sams.IronRuby.Unleashed.Feb.2010.pdf

    IronRuby的发布标志着Ruby语言进入了.NET生态系统的广阔天地。 #### IronRuby的背景与意义 IronRuby项目始于2007年,由Microsoft和Ruby社区合作发起。它的目标是创建一个完全兼容的Ruby语言解释器,能够在.NET平台...

    Sams.IronRuby.Unleashed.Feb.2010.rar

    《Sams.IronRuby.Unleashed.Feb.2010.rar》是一个压缩包文件,其中包含一本名为《Sams.IronRuby.Unleashed.Feb.2010.pdf》的电子书。这本书主要探讨了IronRuby这一编程语言及其在2010年2月时的最新进展。 IronRuby...

    [博客空间]IronRuby博客中文版 Alpha_ironruby-pre-alpha1(ASP.NET源码).rar

    《IronRuby博客中文版 Alpha_ironruby-pre-alpha1(ASP.NET源码)》是一个压缩包,其中包含了关于IronRuby和ASP.NET技术的博客资源。这个压缩文件的重点在于它提供了IronRuby在ASP.NET环境中的应用实例,这对于理解...

    [IronRuby] C# 4.0调用ActiveRecord

    IronRuby是一种将Ruby语言特性与.NET框架结合的动态脚本语言实现。它允许Ruby程序直接使用.NET库和其它托管代码。IronRuby与Ruby一样支持动态类型系统、元编程和Ruby on Rails框架。 知识点二:C# 4.0 C# 4.0是微软...

    ASP.NET源码——[博客空间]IronRuby博客中文版 Alpha.zip

    【ASP.NET源码——[博客空间]IronRuby博客中文版 Alpha.zip】是一个包含ASP.NET源码的压缩包,专门针对IronRuby技术的中文版本。这个压缩包可能是一个项目或者教程,旨在帮助开发者理解和使用IronRuby在ASP.NET环境...

    ironruby-pre-alpha1.zip_pre

    IronRuby是微软开发的一个开源项目,它允许在.NET Framework上运行Ruby编程语言,实现了Ruby的兼容性和.NET平台的集成。这个“ironruby-pre-alpha1.zip_pre”文件是IronRuby项目的早期预览版本,即Pre-Alpha1阶段的...

    C# 4.0 in a nutshell

    《C# 4.0 in a Nutshell》是由Joseph Albahari和Ben Albahari合著的一本关于C#编程语言的重要参考书籍,出版于2010年2月3日。这本书是针对C# 4.0版本的,该版本在C#的发展历程中是一个重要的里程碑,引入了许多新...

    Manning.DSLs.in.Boo.Domain.Specific.Languages.in.NET.Jan.2010

    《DSLs in Boo: Domain Specific Languages in .NET》是一本由Manning出版社于2010年1月发行的专业技术书籍,主要探讨了在.NET框架下如何使用Boo语言来构建领域特定语言(DSLs)。这本书是针对那些对DSLs有深入兴趣...

    [博客空间]IronRuby博客中文版 Alpha_ironruby-pre-alpha1.zip源码ASP.NET网站源码打包

    [博客空间]IronRuby博客中文版 Alpha_ironruby-pre-alpha1.zip源码ASP.NET网站源码打包[博客空间]IronRuby博客中文版 Alpha_ironruby-pre-alpha1.zip源码ASP.NET网站源码打包[博客空间]IronRuby博客中文版 Alpha_...

    C# in Depth 4th Edition-2019 深入理解C#英文版

    《C# in Depth 4th Edition》是Jon Skeet撰写的一本深入解析C#编程语言的书籍,由著名程序员Eric Lippert作序。这本书针对的是C#的第四版,被广大开发者誉为深入理解C#的必备读物。书中详细介绍了C#的关键特性和最新...

    程序源码 IronRuby博客中文版 Alpha_ironruby-pre-alpha1(ASP.NET源码).rar

    免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...

    Metaprogramming in .NET [2013] [pdf + epub]

    它包含了一个运行时环境,使得动态类型和方法调用成为可能,如IronPython和IronRuby就是基于DLR实现的。 5. **Custom Attributes**:自定义属性是一种元数据,允许在代码中附加信息,这些信息可以在运行时通过反射...

    Pro DLR in .NET 4

    总之,《Pro DLR in .NET 4》是了解和掌握.NET框架中动态语言支持的宝贵资源,对于想要深入了解和利用DLR的开发者来说,是一本不可多得的参考书。通过学习,开发者可以充分利用.NET 4的动态功能,提升代码的灵活性和...

    Rails for .NET Developers (Facets of Ruby)

    1. **IronRuby项目:** IronRuby是Microsoft的一项计划,旨在使Ruby语言能够在.NET平台上运行。本书将探讨IronRuby如何为.NET开发者带来新的可能性。 2. **跨语言互操作性:** 随着IronRuby的发展,.NET开发者可以更...

    一步一步学Silverlight 2系列

    Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, Ironpython,对JSON、Web Service、WCF以及Sockets的支持等一系列新的特性。...

Global site tag (gtag.js) - Google Analytics