`
njsyshu
  • 浏览: 4045 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

使用Integer检查参数

阅读更多

检查rails的参数(如params[:id])是否合法,通常是用正则表达式来实现.还有一个更小巧的方法:ruby的Integer 类.

特性:Integer与to_i方法

   x = "111k222".to_i # 111

   y = Integer("111k222") # error

在application.rb中写一个前置过滤器,方法如下before_filter :law_params

  def law_params(*ps)

    ps.compact!

    ps.each{|k| Integer(k) }

  rescue ArgumentError

    return redirect_to argument_error_path

  end
 

有关Integer 与to_i方法(Float与to_f)的详细可以查看ruby api.

分享到:
评论

相关推荐

    matlab开发-RandomIntegerGenerator

    1. 首先,检查输入参数的合法性,例如`A`、`B`是否为整数,`n`是否为非负整数,以及`A`是否小于`B`。 2. 然后,利用MATLAB内置的随机数生成函数,如`randi`,在`[A, B]`区间内生成`n`个随机整数。`randi`函数可以...

    义一个整数集合类integerSet。这种类型的对象可以存储10个20~80之间的整数,即他的内部有一个整型数组存储数据。编程:

    - `integerSet(int a[])`: 构造函数接受一个整型数组`a`作为参数,并将该数组赋值给成员变量`c`。 #### 成员方法 1. **判断两个integerSet对象是否相等** - 方法名:`public boolean bool(int b[])` - 功能描述...

    总结--Mybatis传递参数的几种方法

    这种方法的问题是没有参数检查,传输的参数名错了,没法给出提示,只能在调试过程中去找错误;另外,创建一个 Map 也比较麻烦。 4. 使用 @Param 标注传递参数 使用 @Param 标注可以传递多个参数,例如: ```java ...

    Mybatis单个参数的if判断报异常There is no getter for property named 'xxx' in 'class java.lang.Integer'的解决方案

    然而,当遇到单个参数是基本类型如`java.lang.Integer`或`java.lang.String`时,如果按照处理对象类型的参数方式直接在`<if>`中使用参数名,可能会遇到异常`There is no getter for property named 'xxx' in 'class ...

    The GNSS integer ambiguities_ estimation and validation

    - **几何精度因子分析**:检查模糊度估计过程中使用的观测数据的质量和几何分布。 - **冗余检验**:利用额外的观测数据进行独立检验,以验证模糊度解的可靠性。 - **后验残差分析**:分析模糊度解后残差的大小和分布...

    Integer类的缓存机制

    当调用`valueOf(int i)`时,会首先检查这个范围,如果在范围内,就直接从缓存中获取或插入对象;如果不在范围内,将通过`new Integer(i)`创建新的对象。这个范围可以通过JVM参数`-XX:AutoBoxCacheMax`来调整,但默认...

    sonar-JAVA检查规则指南.docx

    在 Java 中,使用“@NonNull”注解的字段、参数和返回值假定为非 null 值。在使用前通常不进行 null 检查。如果将这些值设置为 null 或未在构造函数中设置此类字段,可能会在运行时导致 NullPointerExceptions。 5....

    面向对象计算器命令行参数传入

    这段代码首先检查参数数量,然后解析出两个整数和一个运算符。通过`switch`语句,我们可以根据运算符选择执行哪个计算方法。注意,在除法操作中,我们还需要检查除数是否为零,防止出现除以零的错误。 最后,我们...

    动态初始化类+参数泛型化+统一返回值.zip

    泛型是Java 5引入的一个重要特性,它允许我们在类、接口和方法中使用类型参数,以增强类型安全并减少强制类型转换。参数泛型化允许我们定义通用的容器类,比如ArrayList和HashMap,它们可以容纳任何类型的元素。...

    精彩编程与编程技巧-用VB生成EXE文件后,如何在后面加上参数?这个参数怎样传给VB...

    2. **检查最大参数数量**:如果用户没有指定`MaxArgs`参数,则默认设置为10。 3. **读取命令行参数**:通过`Command()`函数获取命令行参数。 4. **解析命令行**:逐个字符地遍历命令行字符串,根据空格或制表符来...

    delphi对象参数调用

    如果函数或方法接受对象参数,必须检查参数是否为nil,以防止因尝试访问不存在的对象而导致运行时错误。 最后,探讨一下对象参数在方法重载中的应用。在Delphi中,可以基于不同的参数类型或数量来重载方法。对象...

    关键业务系统JVM参数推荐

    ### 关键业务系统JVM参数推荐 #### 一、引言 在关键业务系统中,除了追求高吞吐量和低延迟之外,系统的稳定性和问题排查的便捷...此外,建议定期检查最新的JDK版本更新,以便及时调整参数配置以适应新的特性和改进。

    Generics_in_the_Java_Programming_Language译文

    3. 泛型类:泛型类是使用类型参数定义的类,例如 LinkedList<Integer>。 泛型的使用: 1. 定义泛型接口:使用类型参数定义接口,例如 public interface List。 2. 定义泛型类:使用类型参数定义类,例如 public ...

    如何提取DOS命令行中的参数程序(VB6.0源代码编写)

    然而,有时候我们可能需要对参数进行更复杂的处理,比如验证参数数量、检查参数格式或处理带特殊字符的参数。这时,我们可以自定义函数来解析这些参数: ```vb Function GetParameter(index As Integer, Optional ...

    05 Mixed integer-GA.rar

    本文将详细介绍一个使用MATLAB实现的基于遗传算法的混合整数规划程序,并探讨其工作原理和应用。 一、遗传算法简介 遗传算法是受生物进化论启发的一种全局优化方法,通过模拟自然选择、遗传和突变等过程,寻找问题...

    checkmate:快速,通用的参数检查

    3. **值域检查**:可以检查参数是否在指定的范围内,例如数值是否在某个最小值和最大值之间。 4. **正则表达式匹配**:用于检查字符串参数是否符合特定模式。 5. **函数调用检查**:验证参数是否满足某个函数返回的...

    精彩编程与编程技巧-多个参数的属性...

    - **参数验证**:在接收到参数后进行有效性检查,确保传入的参数符合预期格式或范围,这对于避免运行时错误非常有帮助。 - **灵活使用参数**:利用参数的不同组合来实现功能的多样性,比如通过条件语句来判断不同的...

    catia教程参数化与知识顾问PPT学习教案.pptx

    举例来说,要定义一个名为`a1`的整型单值参数,其默认值为10,可以在公式对话框中选择`Integer`作为类型,选择`Single Value`,然后输入参数名`a1`及其值。 知识顾问(Knowledge Advisor)是CATIA中的高级功能,它...

    JDK1.5泛型使用下载

    例如,你可能会声明一个ArrayList变量,指定它的类型参数为Integer,像这样: ```java List<Integer> ai = new ArrayList<Integer>(); ``` 这表明ai是一个只能存储Integer对象的ArrayList,编译器会检查所有对ai的...

Global site tag (gtag.js) - Google Analytics