写的一个inter类模仿ruby整数的行为

简介:

我们知道ruby中对于整数的[],[]=,<<,>>操作是针对于二进制的值来运算的。

我现在写一个针对十进制数操作的类,拥有整数的所有方法,如下:

 

class InterEx def initialize(val=0) @val=val end def to_s @val.to_s end def [](idx) self.to_s[idx].to_i end def []=(idx,val) s=self.to_s s[idx] = val.to_s @val=s.to_i end def coerce(other) [other,@val] end def <<(v) return InterEx.new(@val) if v==0 InterEx.new(@val*10**v) end def >>(v) return InterEx.new(@val) if v==0 s=self.to_s s=s[0..(-1*v-1)] InterEx.new(s.to_i) end def method_missing(mtd,*args) InterEx.new(@val.send mtd,*args) end end

 

ruby还提供了delegate机制便于代理一个类,比如要想代理Fixnum类,

可以这么写:

 

require 'delegate' class InterEx<DelegateClass(Fixnum) ... end

 

相关文章
|
3月前
|
开发者 编解码
界面适应奥秘:从自适应布局到图片管理,Xamarin响应式设计全解析
【8月更文挑战第31天】在 Xamarin 的世界里,构建灵活且适应性强的界面是每位开发者的必修课。本文将带您探索 Xamarin 的响应式设计技巧,包括自适应布局、设备服务协商和高效图片管理,帮助您的应用在各种设备上表现出色。通过 Grid 和 StackLayout 实现弹性空间分配,利用 Device 类检测设备类型以加载最优布局,以及使用 Image 控件自动选择合适图片资源,让您轻松应对不同屏幕尺寸的挑战。掌握这些技巧,让您的应用在多变的市场中持续领先。
39 0
|
3月前
|
开发者 测试技术 Android开发
Xamarin 开发者的五大常见问题及解决方案:从环境搭建到性能优化,全面解析高效跨平台应用开发的技巧与代码实例
【8月更文挑战第31天】Xamarin 开发者常遇问题及解决方案覆盖环境搭建至应用发布全流程,助新手克服技术难关。首先需正确安装配置 Visual Studio 及 Xamarin 支持,设置 iOS/Android 测试环境。利用 Xamarin.Forms 和 XAML 实现高效跨平台开发,共享 UI 和业务逻辑代码。针对性能优化,采取减少 UI 更新、缓存计算结果等措施,复杂问题则借助 Xamarin Profiler 分析。
49 0
|
6月前
|
Ruby
|
6月前
|
Ruby
|
6月前
|
Ruby
|
6月前
|
Ruby
|
6月前
|
Ruby
|
6月前
|
Ruby
|
6月前
|
Ruby
|
6月前
|
Ruby