- 浏览: 3049662 次
- 性别:
- 来自: 海外
文章分类
- 全部博客 (430)
- Programming Languages (23)
- Compiler (20)
- Virtual Machine (57)
- Garbage Collection (4)
- HotSpot VM (26)
- Mono (2)
- SSCLI Rotor (1)
- Harmony (0)
- DLR (19)
- Ruby (28)
- C# (38)
- F# (3)
- Haskell (0)
- Scheme (1)
- Regular Expression (5)
- Python (4)
- ECMAScript (2)
- JavaScript (18)
- ActionScript (7)
- Squirrel (2)
- C (6)
- C++ (10)
- D (2)
- .NET (13)
- Java (86)
- Scala (1)
- Groovy (3)
- Optimization (6)
- Data Structure and Algorithm (3)
- Books (4)
- WPF (1)
- Game Engines (7)
- 吉里吉里 (12)
- UML (1)
- Reverse Engineering (11)
- NSIS (4)
- Utilities (3)
- Design Patterns (1)
- Visual Studio (9)
- Windows 7 (3)
- x86 Assembler (1)
- Android (2)
- School Assignment / Test (6)
- Anti-virus (1)
- REST (1)
- Profiling (1)
- misc (39)
- NetOA (12)
- rant (6)
- anime (5)
- Links (12)
- CLR (7)
- GC (1)
- OpenJDK (2)
- JVM (4)
- KVM (0)
- Rhino (1)
- LINQ (2)
- JScript (0)
- Nashorn (0)
- Dalvik (1)
- DTrace (0)
- LLVM (0)
- MSIL (0)
最新评论
-
mldxs:
虽然很多还是看不懂,写的很好!
虚拟机随谈(一):解释器,树遍历解释器,基于栈与基于寄存器,大杂烩 -
HanyuKing:
Java的多维数组 -
funnyone:
Java 8的default method与method resolution -
ljs_nogard:
Xamarin workbook - .Net Core 中不 ...
LINQ的恶搞…… -
txm119161336:
allocatestlye1 顺序为 // Fields o ...
最近做的两次Java/JVM分享的概要
刚才跟NS老兄聊的时候他给我看了段代码:
我正无聊,回答说这实现起来不难,就模仿那段代码的行为估摸了一个出来。不过这么简单的东西我一开始居然写错了,郁闷 T T
一开始忘写method,直接拿candidates.first[*args]就调用了……找起错来还挺麻烦的 T T
另外,还可以尝试匹配下划线分隔的名字中的缩写,像是把end_with?缩写成ew。在Ruby 1.9上可以这样写:
主要是Ruby 1.9之前String#[]返回的是字节的值,是个Fixnum,要转成字符还得用Fixnum#chr,比较烦……要在Ruby 1.8上运行这代码的话,要在[0]后面都加上.chr。
结束语:人不能太无聊了 XDD
对高亮没啥追求,能tab就行……
require 'irb/completion'之后,打了3.然后按tab,出来一长串列表……不停按回车然后总是错过后面再出来的3. T T
昨晚想说的忘说了。根据方法名的每个单词开头字母组成的缩写来搜索这个,不是我突然想到的,而是最近Visual Studio 2010和MonoDevelop 2.0都宣传它们实现了类似的搜索符号的功能,深深的印在了我的娱乐列表上……
跟NS老兄聊天就总是能找到乐子,呵呵~
不过说真的,在Windows上用默认配置的、裸的irb难道你们不会觉得不爽么?如果能用缩写来打方法名有时候不会很爽么……
至少把这个配置给弄上,不然太落伍了 XDD
要是不在Windows上的话,还有些古老的办法可以让irb“亮”起来……
night_stalker 写道
看到一个方法简写 trick
irb(main):004:0> "Hello World".spl => ["Hello", "World"] irb(main):005:0> "Hi there Daniel".sp => ["Hi", "there", "Daniel"] irb(main):006:0> "Hi there Daniel".s => "Ambigous abbreviation s -> select, slice, sub!, squeeze, send, split, size, strip, succ!, squeeze!, sub, slice!, scan, sort, swapcase, swapcase!, sum, singleton_methods, succ, sort_by, strip!"
我正无聊,回答说这实现起来不难,就模仿那段代码的行为估摸了一个出来。不过这么简单的东西我一开始居然写错了,郁闷 T T
class Object def method_missing(name, *args, &block) candidates = methods.grep /^#{name}/ raise "undefined method `#{name}' for #{self}:#{self.class}" if candidates.empty? raise "Ambigous abbreviation #{name} -> #{candidates.join ', '}" unless candidates.one? method(candidates.first).call *args end end
一开始忘写method,直接拿candidates.first[*args]就调用了……找起错来还挺麻烦的 T T
另外,还可以尝试匹配下划线分隔的名字中的缩写,像是把end_with?缩写成ew。在Ruby 1.9上可以这样写:
class Object def method_missing(name, *args, &block) candidates = methods.grep /^#{name}/ if candidates.empty? downcase_name = name.to_s.downcase candidates = methods.map{|m| m.downcase}.reject{|m| m[0] != name[0]}.select do |m| downcase_name == m.to_s.sub(/[?!=]$/, '').split(/_/).map{|p| p[0]}.join end end raise "undefined method `#{name}' for #{self}:#{self.class}" if candidates.empty? raise "Ambigous abbreviation #{name} -> #{candidates.join ', '}" unless candidates.one? method(candidates.first).call *args end end
主要是Ruby 1.9之前String#[]返回的是字节的值,是个Fixnum,要转成字符还得用Fixnum#chr,比较烦……要在Ruby 1.8上运行这代码的话,要在[0]后面都加上.chr。
E:\build_area\ruby191\bin>irb irb(main):001:0> class Object irb(main):002:1> def method_missing(name, *args, &block) irb(main):003:2> candidates = methods.grep /^#{name}/ irb(main):004:2> if candidates.empty? irb(main):005:3> candidates = methods.select do |m| irb(main):006:4* name.to_s.downcase == m.to_s.sub(/[?!=]$/, '').split(/_/).map {|p| p[0]}.join.downcase irb(main):007:4> end irb(main):008:3> end irb(main):009:2> raise "undefined method `#{name}' for #{self}:#{self.class}" if candidates.empty? irb(main):010:2> raise "Ambigous abbreviation #{name} -> #{candidates.join ', '}" unless candidates.one? irb(main):011:2> method(candidates.first).call *args irb(main):012:2> end irb(main):013:1> end => nil irb(main):014:0> 'alpha'.ew 'a' => true irb(main):015:0> 'alpha'.end_with? 'a' => true
结束语:人不能太无聊了 XDD
评论
4 楼
RednaxelaFX
2009-04-25
night_stalker 写道
着色那个最好加上
require 'win32/Console/ANSI'
不过 tab 后一些字符会删不掉 -_-
require 'win32/Console/ANSI'
不过 tab 后一些字符会删不掉 -_-
对高亮没啥追求,能tab就行……
require 'irb/completion'之后,打了3.然后按tab,出来一长串列表……不停按回车然后总是错过后面再出来的3. T T
昨晚想说的忘说了。根据方法名的每个单词开头字母组成的缩写来搜索这个,不是我突然想到的,而是最近Visual Studio 2010和MonoDevelop 2.0都宣传它们实现了类似的搜索符号的功能,深深的印在了我的娱乐列表上……
3 楼
night_stalker
2009-04-25
着色那个最好加上
require 'win32/Console/ANSI'
不过 tab 后一些字符会删不掉 -_-
require 'win32/Console/ANSI'
不过 tab 后一些字符会删不掉 -_-
2 楼
RednaxelaFX
2009-04-25
Hooopo 写道
继中文编程之后,又一娱乐实践。。。
跟NS老兄聊天就总是能找到乐子,呵呵~
不过说真的,在Windows上用默认配置的、裸的irb难道你们不会觉得不爽么?如果能用缩写来打方法名有时候不会很爽么……
至少把这个配置给弄上,不然太落伍了 XDD
要是不在Windows上的话,还有些古老的办法可以让irb“亮”起来……
1 楼
Hooopo
2009-04-25
继中文编程之后,又一娱乐实践。。。
发表评论
-
字符串的一般封装方式的内存布局 (0): 拿在手上的是什么
2013-11-04 18:22 21496(Disclaimer:未经许可请 ... -
字符串的一般封装方式的内存布局
2013-11-01 12:55 0(Disclaimer:未经许可请 ... -
RubyConf notes
2011-11-08 19:10 0symmetric coroutine Fiber#trans ... -
ShanghaiOnRails第八次线下活动——你不需要知道的Ruby实现
2010-11-12 15:39 2843上个月底正好赶上参加了ShanghaiOnRails 第八次线 ... -
JRuby的运行模式
2010-11-01 11:21 0// 老的JRuby还是用org.jruby.evaluato ... -
你不需要知道的Ruby草稿
2010-10-27 11:25 0一些Ruby实现 Ruby 1.8 树遍历解释 Ruby 1 ... -
Ruby里的fiber/coroutine例子
2010-01-26 18:33 0Ruby 1.9开始支持fiber。与“fiber”一词的一般 ... -
JRuby使用技巧收集
2009-12-28 09:35 0java.lang.Thread.new { puts &qu ... -
特殊类型的eigenclass
2009-12-17 03:39 0Fixnum的实例没有eigenclass true、fals ... -
奇怪的参数
2009-12-08 02:25 0默认参数与闭包的组合 真正的问题不是只是默认参数看起来很诡异, ... -
MacRuby的执行模式
2009-12-07 07:41 0mailing-list macruby-devel http ... -
Rubinius的执行模型
2009-12-05 15:22 0Rubinius wants to help YOU make ... -
Ruby 1.8和1.9中String#hash的实现
2009-11-22 18:23 01.8 string.c int rb_str_hash(s ... -
To囧:拿你来测测Watir...
2009-11-21 22:38 3444iaimstar 写道@RednaxelaFX 你最近ruby ... -
[标题党] MagLev中GC类的真相……
2009-11-21 14:46 0注意到本文的标题:我是说“GC类”的真相,不是说GC的真相哦~ ... -
小试rubyzip的一个脚本
2009-11-17 20:42 3460呼,今天开始3天都是新人培训,总算可以抽点时间发一帖。 现在在 ... -
爬一下Google和百度看口碑对它们做的SEO效果如何
2009-11-09 00:27 0#!/usr/bin/env ruby require ... -
把Mechanize的html_parser改回到Hpricot
2009-11-08 14:45 3117记得我最初开始用Nokogir ... -
使用新的RubyInstaller
2009-11-07 02:37 0Hpricot的安装需要编译,需要devkit -
Ruby metaprogramming tech notes
2009-09-28 15:39 0class Builder def self.build ...
相关推荐
"Trick"这一主题似乎与一套特别的字体资源相关,其中包括多种不同风格的图像文件(.gif)和TrueType字体文件(.TTF)。让我们深入探讨一下这个话题。 首先,.gif 文件是一种常见的图像格式,支持透明度和动画,常...
Hattrick球场上座率概算 Hattrick球场上座率概算
这一点对于Slope Trick的应用至关重要,因为它提供了处理动态规划过程中状态转移的有效方法。 #### 五、Slope Trick 的核心思想 Slope Trick 的核心在于通过维护函数的转折点来更新状态,关键步骤包括: 1. **定义...
在机器学习中,核技巧(Kernel Trick)是一种非常重要的技术,它允许我们在高维特征空间中有效地进行线性学习算法的操作,而无需显式地计算出高维空间的数据表示。核技巧在诸如支持向量机(SVM)等算法中发挥了重要...
在ARP_trick.tar.gz这个压缩包中,我们可以预期包含有关如何执行和防御ARP欺骗的相关资料。可能包括了以下内容: 1. **ARP协议原理**:首先,理解ARP的工作机制至关重要。当主机需要发送数据到某个IP地址时,它会...
Python-trick,上传的事pdf文档
特技袋各种Ruby类,模块和方法,以简化和增强您的代码。安装将此行添加到您的应用程序的Gemfile中: gem 'trick_bag'然后执行: $ bundle或将其自己安装为: $ gem install trick_bag用法理解用法的最佳方法是查看a...
Hat Trick是Unity官方商店提供的5.5.0版本以上的一款游戏Demo。
### 神经网络训练Trick详解 #### 引言 神经网络训练是深度学习领域的一个核心环节,其效果的好坏直接影响着模型的性能。在实际应用中,开发者经常会遇到模型训练不佳的情况,这时就需要一系列的技巧(Tricks)来...
由NASA约翰逊航天中心开发的Trick仿真环境是一个功能强大的仿真开发框架,使用户能够为航天器开发的所有阶段构建应用程序。 特里克(Trick)加快了仿真的创建过程,以进行早期飞行器设计,性能评估,飞行软件开发,...
Linux Shell技巧是Linux系统操作中的重要组成部分,它是一种命令行接口,允许用户通过文本命令与操作系统进行交互。Shell脚本可以极大地提高效率,自动化日常任务,并且是系统管理员的得力工具。...
VDR-Hattrick是一款专为视频磁盘录像机(Video Disk Recorder, VDR)设计的开源插件。这款插件的出现,旨在为VDR用户提供一个独特的体验,即在观看电视节目的同时,能够实时查看在线足球游戏“Hattrick”的比赛情况...
"支持向量机之Kernel Trick.pdf" 支持向量机(SVM)是一种常用的机器学习算法,特别是在分类和回归问题中。然而,在解决线性不可分问题时,SVM 需要使用 Kernel Trick。Kernel Trick 是一种将输入空间映射到高维...
今天我们将深入探讨一款名为“Hattrick Economy”(简称haec)的开源工具,它专为分析和预测在线足球经理游戏——Hattrick的经济数据而设计。 Hattrick是一款深受全球玩家喜爱的在线模拟经营游戏,玩家在游戏中扮演...
在Android开发中,"list_sticky_scroll_trick"是一个常见的UI设计技巧,它涉及到ListView的优化和用户体验提升。这个效果通常被称作“吸顶”或者“固定头部”效果,即当用户滚动列表时,某些特定的视图(如标题或...
Hattrick Ranking,一款专为在线游戏Hattrick设计的CHPP(Hattrick个人程序插件)批准的应用程序,为玩家提供了一个独特的功能,即创建自定义的排名系统,以更深入地对比和分析Hattrick中的各支球队。这款开源软件的...
dev分支是Trick插件的主要开发分支。 从dev克隆以创建功能/主题分支是首选方法。 为插件做贡献 插件源代码托管在。 新功能建议和错误修复应作为提交。 在GitHub上克隆存储库,准备对本地存储库的更改,然后提交拉取...
db_trick.sql
这个压缩包包含一个名为"code.txt"的文件,很可能是用某种编程语言编写的源代码,可能涉及到表单验证、数据处理、用户界面优化等方面的知识。 表单处理在Web开发中扮演着核心角色,尤其是在HTML和JavaScript中。...