小编Fil*_*ipK的帖子

CLOS优于其他基于类的OO系统的优势

我发现Common Lisp Object System(CLOS)优于传统的(基于类的)面向对象系统.CLOS的维基百科条目提到了两种方法之间的差异 - 主要是CLOS中的多个调度和类和方法的分离.这些仅仅是CLOS的差异或真正优势吗?

oop common-lisp clos

12
推荐指数
1
解决办法
1297
查看次数

要求返回数组而不是布尔值

根据Kernel#require的文档,该方法返回一个布尔值.我在IRB会话中注意到,对于某些文件,require返回一个数组.

ruby-1.8.7-p330 :001 > require 'net/http'
=> true 
ruby-1.8.7-p330 :002 > require 'date'
=> true 
ruby-1.8.7-p330 :003 > require 'lib/data_provider'
=> ["DataProviders"] 
Run Code Online (Sandbox Code Playgroud)

返回的数组包含data_provider.rb中定义的模块的名称:

module DataProviders
  module Cached
    class Foo
    # ...
    end
  end

  class Foo
  # ...
  end
end
Run Code Online (Sandbox Code Playgroud)

这是我做错事或一些无证行为的标志require吗?

ruby require

7
推荐指数
1
解决办法
191
查看次数

使用JSON字符串中的嵌套映射

给定一个像这样的JSON字符串:

{"Locations":
  {"list":
    [
      {"description": "some description", "name": "the name", "id": "dev123"},
      {"description": "other description", "name": "other name", "id": "dev59"}
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我想从解析上面字符串的函数返回一个"id"列表.JSON.parseFull()(来自scala.util.parsing.json)给我一个类型的结果Option[Any].Scala REPL显示它Some(Map(Locations -> Map(list -> List(Map(id -> dev123, ...和Scala的初学者一样,我对于接近它的方式感到困惑.

Scala API文档建议"将其视为集合或monad并使用map,flatMap,filter或foreach".顶级元素是一个选项[Any]但是应该是一些Map应该包含单个键"Locations"的Map,它应该包含一个最终是List的键"list".Scala编写一个检索"id"的函数的惯用方法是什么?

scala

4
推荐指数
1
解决办法
9502
查看次数

以编程方式检查fixnum大小

Wikibook for Common Lisp表示,fixnums保证能够保存[-2 15中的整数值; 2 15 -1]范围,它是依赖于实现的.*features*可以告诉我主机是32位还是64位但是Lisp 的fixnum 不能覆盖整个32/64位.有没有办法以编程方式检查CL实现中fixnum的大小?

common-lisp

3
推荐指数
1
解决办法
405
查看次数

Rails控制台的自定义扩展

我经常在我的Rails script/console会话中使用短代码片段,例如

>> app.get 'admin/login'
>> app.response.body
# look up 'authenticity_token' in the login form's HTML
>> login_data = { "authenticity_token" => "token_value",
                  "username" => "admin",
                  "password" => "admin_password" }
>> app.post 'admin/login', login_data
Run Code Online (Sandbox Code Playgroud)

我想为控制台制作一个帮助方法/扩展,所以我只是使用

>> app.admin_logon
Run Code Online (Sandbox Code Playgroud)

有哪些可能的解决方案来实现这一目标?

console ruby-on-rails

0
推荐指数
1
解决办法
362
查看次数

标签 统计

common-lisp ×2

clos ×1

console ×1

oop ×1

require ×1

ruby ×1

ruby-on-rails ×1

scala ×1