`
xu_wccq
  • 浏览: 130913 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

ruby core search

    博客分类:
  • ruby
阅读更多
 如何使用类名来获得类?

如果我有classname = "String时,如何生成SomeClass类的实例呢?主要有两个解决方法。"

ruby 代码
 
  1. [1] eval(classname).new  
  2. [2] Object.const_get(classname).new  

第1种方法既简单又可以处理嵌套类(Net::HTTP等),但如果在CGI环境中滥用它的话,将十分危险。


而第2种方法却又无法处理嵌套类的问题。但如果进行以下处理的话,就可以处理嵌套类了。

ruby 代码
  1. # 如果只考虑Ruby 1.8之后的版本的话,可以这样  
  2.  cs = classname.split(/::/).inject(Objectdo | c , name |  
  3.            c.const_get(name)   
  4.          end   
  5. => String  
  6.   
  7. cs.new("Create a object from a string")           
  8.  => "Create a object from a string"  

分享到:
评论

相关推荐

    Ruby的25个编程细节(技巧、实用代码段)

    ### Ruby的25个编程细节(技巧、实用代码段) #### 1. 使用 `try` 方法处理潜在的异常 在Ruby中,`try` 方法是一个非常有用的功能,它允许我们安全地访问对象的方法或属性,即使该对象为 `nil` 也不会抛出异常。...

    rubyinstaller-devkit-2.5.3-1-x64.exe

    The Ruby core and standard library documentation is part of the installation. We also recommend the online documentation or HTML version downloadable from ruby-doc.org. SUPPORT Enjoy, happy Ruby ...

    osmn:OpenStreetMap Nominatim API 的 Ruby 包装器

    OpenStreetMap Nominatim API 的 Ruby 包装器。 Nominatim 是一种通过名称和地址搜索 osm 数据并生成 osm 点的合成地址(反向地理编码)的工具。 服务可以在找到 API 详细信息可以在找到 安装 $ gem install ...

    core_server_deploy

    首先,我们要理解"core_server_deploy"可能指的是一个基于Ruby构建的核心服务器应用的部署流程。Ruby是一种动态类型、面向对象的脚本语言,因其简洁清晰的语法和强大的Rails框架而被广泛应用于Web开发。在部署Ruby...

    logstash-6.2.1.7z

    《Logstash:数据库数据批量导入Elasticsearch的强大工具》 Logstash是一款强大的开源数据收集引擎,它能够方便地从各种不同源(如日志文件、数据库等)收集数据,进行处理,然后将其发送到目标存储,如Elastic...

    homebrew-core

    自制酒 如何安装这些公式? brew install infomaker...要列出水龙头提供的公式/工具,请运行: brew search infomaker/core 要获取公式的文档,请运行: brew info infomaker/core/oc brew help , man brew或检查。

    boot_elk.zip

    <appender name="stash" class="ch.qos.logback.core.ConsoleAppender"> <customFields>{"application":"my-app"} ``` 四、部署Logstash Logstash负责从日志源(如SpringBoot应用)收集日志,进行...

    lucene实战

    **Part 1 CORE LUCENE** 1. **Meet Lucene**: 这部分介绍了Lucene的基本概念和架构,包括它的核心组件,如索引、搜索、分析器等。Lucene的工作流程涉及文档的读取、分词、索引创建和搜索查询的解析与执行。理解...

    Eclipse插件大全

    10. Google Eclipse Search (GES):该插件将Google Desktop Search集成到Eclipse中,方便开发者在编码时快速搜索代码片段和解决方案。 通过这些插件,Eclipse可以适应各种开发需求,从Python到PHP,再到Java和Web...

    史上最详细的CocoaPods安装教程(图文)

    5. **使用CocoaPods**:在项目根目录下创建Podfile,然后使用`pod search`命令搜索库,如`pod search AFNetworking`,找到库后,根据提示在Podfile中添加依赖。 总结,CocoaPods是iOS开发中不可或缺的工具,通过它...

    xmljava系统源码-jstarcraft-tutorial:一套涵盖核心编程,人工智能,数字图像处理,自然语言处理,推荐与搜索,云服务领域

    xml java系统源码 JStarCraft Framework 一套涵盖核心编程,人工智能,数字...transaction模块:支持7种分布式锁(Cassandra/ElasticSearch/Hazelcast/Hibernate/Mongo/Redis/ZooKeeper) 2020.05.11 common模块instant包:

    jstarcraft-rns:专注于解决推荐领域与搜索领域的两个核心问题:排序预测(排名)和评分预测(评分)。为相关领域的研发人员提供完整的通用设计与参考实现。涵盖了70多种排序预测与评分预测算法,是加速最全的Java推荐与搜索引擎

    Ruby 安装 JStarCraft RNS要求使用者具有以下环境: JDK 8或以上 Maven 3 安装JStarCraft-Core框架 git clone https://github.com/HongZhaoHua/jstarcraft-core.git mvn install -Dmaven.test.skip=true 安装...

    Selenium学习笔记

    IDE 使用 JavaScript 记录用户的浏览器交互,然后将这些交互转换为可读性强、易于维护的脚本,支持多种编程语言,如 Java、C#、Python 和 Ruby。此外,Selenium IDE 还具有回放功能,可以方便地测试脚本的有效性。 ...

    brew课件 大学编写

    - **工作原理**:Brew通过Git仓库(如Homebrew/brew和Homebrew/core)来跟踪软件包的源代码,并提供一套简单的命令行接口进行安装和更新。 2. **安装Brew** - **初识安装命令**:在终端中输入`/bin/bash -c "$...

    java开源包1

    业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。目前互联网很多服务如Open API,很多大头公司如Google,Yahoo,Microsoft等都提供了OAUTH...

    java开源包11

    业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。目前互联网很多服务如Open API,很多大头公司如Google,Yahoo,Microsoft等都提供了OAUTH...

    java开源包2

    业界提供了OAUTH的多种实现如PHP,JavaScript,Java,Ruby等各种语言开发包,大大节约了程序员的时间,因而OAUTH是简易的。目前互联网很多服务如Open API,很多大头公司如Google,Yahoo,Microsoft等都提供了OAUTH...

Global site tag (gtag.js) - Google Analytics