Case 表达式 Ruby的 case 表达式非常强大,就像多个if的固化物一样。它有两种风格。 第一种风格特别像多个if语句:它让你列出一些条件并执行第一个条件为true的语句。例如,闰年必须可被400除,或可被4除而不可被100除。 leap = case when year % 400 == 0: true when year % 100 == 0: false else year % 4 == 0 end 第二种风格的case语句或许更常用。你在case语句的顶部指定一个目标,然后每个when子句列出一或多个比较。 ...
2008-05-11

表达式

Break, Redo, 和 Next 循环控制结构 break, redo, 和 next 让你可以改变循环或者迭代器的流程。 break 立即结束当前循环;然后跳出去执行循环后面的语句。redo从这次循环体的头开始重新执行,但是不会在对条件进行运算或者从迭代中取下一个值。next跳到本次循环末尾,开始执行下一次循环。 while line = gets next if line =~ /^s*#/ # skip comments break if line =~ /^END/ # stop at end # substitute stu ...
此项目增删改查基本要的都有了,集合了国际化,校验框架加上无法提交,还需要研究 Action类 package com.struts.action; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import com.hibernate.po.UserTab; import com.hibernate.service.IUserService; import com.opensymphony.xwork2.ActionContext; ...
在项目中加入校验框架就无法提交,去掉校验框架之后又正常可以进行提交,请问这样的问题有解决办法吗.. struts2+spring2+hibernate3整合出现的
Action public String find() throws Exception { Map request = (Map) ActionContext.getContext().get("request"); request.put("list", dao.findAll()); System.out.println("find"); return SUCCESS; } list.jsp <body> <p> User </p> <s:iterator value="#request.list" st ...
加入需要的包就可以了
Range对象表现为一个间隔,有开始与结束的值集。Range对象可以由范围操作符s..e及s…e字面值,或者用Range::new构建。由..操作符构建的Range对象包括范围的终点end值,而由…操作符构建的Range对象不包括范围的终点end值。当用于迭代器对象时,Range对象返回序列内的每一个值。 例如: for i in 1..5 … end 生成从1到5的Range对象,然后对分别每个值进行迭代操作。 再如: (-1..-5).to_a #=> [](-5..-1).to_a #=> [-5, -4, - ...
J2EE app 一般都有用到 xDoclet 做一些宣告然後再產生程式碼. Java 1.5 開始支援 Annotation 功能來解決這方面需要. 其實 Ruby 拜本身就是 dynamic 語言之賜, 它這方面的方法可就高明多了, 這也就是為何 Rails 看起來又像是 metaprogramming 的原因. 請參考這篇說明, Metaprogramming Ruby Ruby 不用 setXXX, getXXX, 而是用稱為 attribute accessor 這種方法. class Book def initialize(title) ...
MD5 計算 require 'digest/md5' puts Digest::MD5.hexdigest("Hello World!") 計算檔案的 MD5, 可以確保檔案未曾被修改 require 'digest/md5' #method 1 puts Digest::MD5.hexdigest(File.read("o.rb")) #method 2 class Digest::MD5 def self.open(path) o = new File.open(path) { |f| buf = "" ...
Ruby 的 block 是個不錯的設計. 一個 block 就是一些程式碼, 其 context 為正在動態執行的環境. 有點像是一般稱為 callback 機制, 但 block 方法精巧多了 當你呼叫 method 時, 你可以給它一個 block. 下面 “each” 是 method, do ~ end 中間就是 block, |x|, x 就是傳給 block 的參數. books = ["Ruby", "Rails"] books.each do |b| puts b end 那麼 method 裡如何執行 block? 利用 “yield” ...
litoueva
搜索本博客
最近加入圈子
存档
最新评论