- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个关于 ruby 的问题。我正在用 ruby 编写一些代码,我想使用一棵树。我决定使用 Tree::TreeNode
类。看这里http://www.rubydoc.info/github/evolve75/RubyTree/Tree/TreeNode用于文档。
这是我第一次使用 gem。我在终端中运行 sudo gem install tree
并将 require 'tree'
添加到我的 ruby 文件的开头。在大多数情况下它是有效的。我可以初始化节点并且大多数方法都有效。但是,#each_leaf
和#children
等一些方法不起作用。这是示例代码:
require 'tree'
node1 = Tree::TreeNode.new('node1',1)
node2 = Tree::TreeNode.new('node2',2)
node1.add(node2)
node1.each_leaf { |node| puts "name: #{node.name}, content: #{node.content}"}
当我运行它时,我收到以下错误消息:
test.rb:5:in `<main>': undefined method `each_leaf' for #<Tree::TreeNode:0x007fc2a905e560> (NoMethodError)
但是当我用 each_leaf
替换为 each
运行代码时,它完美地工作(当然我得到节点 1 和 2 的信息,而如果它工作 each_leaf
应该只给我节点 2 的信息)。
查看 TreeNode
的文档,我注意到所有对我不起作用的方法都列在 Tree::TreeNode+
旁边,而不是 树::树节点
。我还没弄明白这是什么意思。我是否必须做一些额外的事情或安装其他 gem 才能获得这些方法?感谢您的帮助!
最佳答案
这是因为 rubygems.org 上的 gem 版本落后于 github 上的最新版本(从中生成文档)。您可以使用以下方式安装 github 版本:
gem install specific_install
gem specific_install -l https://github.com/evolve75/RubyTree.git
或者只是将它添加到您的Gemfile
:
gem 'tree', github: 'evolve75/RubyTree'
更新:看起来它确实有 rubygems 的最新版本,但它被重命名为 rubytree,因此
gem uninstall tree
gem install rubytree
但是像以前一样需要“树”
。
关于ruby - 来自 Tree::TreeNode 的方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37422913/
我有一个 JTree (myTree) 在另一个类(class),我有一个 DefaultMutableTreeNode取自myTree。 在某个函数中,我想要 JTree突出显示该节点。 我试过了:
我是golang的新手,对以下内容感到困惑, type TreeNode struct { Val int Left *TreeNode Right *TreeNode
这与大多数应用的行为方式相同。我认为 TreeView 默认情况下是这样工作的。 有没有办法做到这一点,还是我必须让已检查的 TreeNode 的所有子节点并自己检查它们? 这是 winforms。
这是我的代码: if (e.Node.Parent == null) { string selectedNodeText = e.Node.Text; TreeNode x = e.N
最近做了很多思维导图,经常遇到无法合并分支的问题。比如一个节点有branch1、branch2、branch3和branch4,我发现branch3和branch4可以趋向于另一个节点。但是,Mind
与System.Windows.Forms中的其他一些控件集合一样,TreeNodeCollection实现IEnumerable。这背后是否有任何设计原因,还是仅仅是泛型问世之前的宿醉? 最佳答案
在 TreeView 中插入长文本节点时 - 出现水平滚动条。有没有办法在 TreeNode 中自动换行而不是滚动? 目前我使用的解决方案是根据 TreeView 的宽度分割文本并在不同的节点中显示其
我有一个 uitree 结构并使用激活的 MultipleSelectionNodes 属性。我总是选择两个节点。我需要永久修复其中一个的选择,而另一个可以通过鼠标选择进行更改。我怎样才能实现这一目标
如何在 ASP.NET 中突出显示选定的 TreeNode (UI.WebControls)?目的是让用户看到他或她当时正在查看的类别。 我的想法是,在每个 TreeNode 上,检查其属性 Sele
我有一个带有一堆 TreeNode 的 TreeView 控件。每个节点 ContextMenu 根据其状态具有不同的 MenuItems。所以我目前正在为每个 TreeNode 附加其自己的 Con
public class Solution { public TreeNode invertTree(TreeNode root) { if(root == null)
所以,这是故事。我正在尝试创建一个递归下降解析器,它标记一个字符串,然后从这些标记中创建一个节点树。 我的主要类(class)的所有指针都在工作......如果你之前使用过 RDP 那么你知道我在说什
所以,这是故事。我正在尝试创建一个递归下降解析器,它标记一个字符串,然后从这些标记中创建一个节点树。 我的主要类(class)的所有指针都在工作......如果你之前使用过 RDP 那么你知道我在说什
现在我的循环是 for (TreeNode n = e.Node.FirstNode; n != null; n = n.NextNode) 我的数据是这样的 a a1 a2 b
我有一个使用 Treeview 的网页。在 TreeView 中是节点,我使用 Text 和 Value 属性,但我还需要一个。我需要一个名为 IsFile 的 bool 属性。 我创建节点并以编程方
基本上 TreeView 有复选框,我能够获得 TreeNode,但无论我在 TreeNode 上单击什么地方,它都会为我提供 TreeNode,从它的文本到它的复选框,再超出一点(向左)。 我能否限
以下代码不会运行,因为在按名称“RootNode”检索时 rootNode 为 null treeView1.Nodes.Add(new TreeNode("RootNode")); ... /
我正在我的 C# GUI 应用程序中使用 TreeView 和 TreeView.Nodes,并希望在我的树中的几个节点上使用右键单击功能。我已经搜索了很多,但似乎 SelectedNode 仅对左键
我试图在鼠标悬停在 TreeView 节点上时显示工具提示。但是工具提示没有显示。 这是我的代码: private void treeView1_MouseHover(object sender, E
如何将全尺寸图像嵌入到 TreeNode? 目标是显示详细的日志文件,其中每个节点代表窗口标题,其子节点包含键盘记录。 最佳答案 使用以下模式将图像添加到 TreeView 图像列表。 ImageLi
我是一名优秀的程序员,十分优秀!