小编use*_*152的帖子

如何在不首先在Ruby中实例化的情况下获取所有子类的列表

如果我有4个具有以下层次结构的类:

class MainClass < ActiveRecord::Base
  ...
end

class SubClassA < MainClass
  ...
end

class SubClassB < MainClass
  ...
end

class SubClassC < MainClass
  ...
end
Run Code Online (Sandbox Code Playgroud)

如何在不经过并创建其他每个类的实例的情况下获取MainClass的子类列表?

在一个新的IRB会议中,我可以进去说

irb(main)> MainClass.descendants
=> []
Run Code Online (Sandbox Code Playgroud)

但是,如果我经历并创建每个子类的实例,我将看到以下内容

irb(main)> SubClassA.new
=> #<SubClassA ...>
irb(main)> SubClassB.new
=> #<SubClassB ...>
irb(main)> SubClassC.new
=> #<SubClassC ...>
irb(main)> MainClass.descendants
=> [SubClassA(...), SubClassB(...), SubClassC(...)]
Run Code Online (Sandbox Code Playgroud)

我基本上是在寻找一种方法来提供所有子类的方法,以便将来当我想添加SubClassD,SubClassE等时,我不必担心每个人都会在代码中实例化,然后用户才能看到它们.

ruby ruby-on-rails

8
推荐指数
2
解决办法
2595
查看次数

如何使用 Google App 脚本从 Youtube 搜索创建 RSS 提要?

自从 Youtube 关闭了其最新版本 API 的 RSS 搜索源以来,我一直在尝试使用 Google App Script 重新创建它们。这是我到目前为止所得到的(基于将 Twitter 小部件转换为 RSS 的教程):

function getSearches(a){
  try{
    var rss,title,link;

    title="Youtube RSS Feed";
    link="http://www.youtube.com";

    var d=ScriptApp.getService().getUrl()+"?"+a;
    rss='<?xml version="1.0"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">';
    rss+='<channel><title>'+title+'</title>';
    rss+='<link>'+link+'</link>';
    rss+='<atom:link href="'+d+'" rel="self" type="application/rss+xml" />';
    rss+='<description>Youtube RSS feed updated on '+new Date()+'.</description>';

    var results = YouTube.Search.list('id, snippet', {
      q: a,
      maxResults: 50,
      order: 'date'
    });

    for(var i = 0; i < results.items.length; i++){
      var item = results.items[i];
      rss += "<item>";
      rss += "<title>" + item.snippet.title + "</title>"; …
Run Code Online (Sandbox Code Playgroud)

rss youtube-api google-apps-script youtube-data-api

5
推荐指数
1
解决办法
5063
查看次数

我想在Highcharts柱形图中为每列添加一行

有没有办法在柱形图中为每列添加一行?例如,我将测试分数绘制为列.每个测试都有一个最小的通过等级,我希望在该列上显示为一行,并可能添加一个显示通过等级的工具提示.每次测试的及格分数并不总是相同.如果测试等级不符合合格等级,则低于该等级; 如果超过通过等级,该行将出现在列上.

jquery highcharts

2
推荐指数
1
解决办法
1421
查看次数