标签: module

Ruby中包含和扩展有什么区别?

刚刚开始关注Ruby元编程.mixin/modules总是让我困惑.

  • include:将指定模块方法中的混合作为目标类中的实例方法
  • extend:将指定的模块方法混合为目标类中的类方法

那么主要区别在于这还是潜伏着更大的龙? 例如

module ReusableModule
  def module_method
    puts "Module Method: Hi there!"
  end
end

class ClassThatIncludes
  include ReusableModule
end
class ClassThatExtends
  extend ReusableModule
end

puts "Include"
ClassThatIncludes.new.module_method       # "Module Method: Hi there!"
puts "Extend"
ClassThatExtends.module_method            # "Module Method: Hi there!"
Run Code Online (Sandbox Code Playgroud)

ruby module include extend

397
推荐指数
4
解决办法
8万
查看次数

如何列出Python模块中的所有函数?

我在我的系统上安装了一个python模块,我希望能够看到它中有哪些函数/类/方法.

我想在每一个上调用doc函数.在ruby中,我可以执行类似ClassName.methods的操作,以获取该类上可用的所有方法的列表.python中有类似的东西吗?

例如.就像是:

from somemodule import foo
print foo.methods # or whatever is the correct method to call
Run Code Online (Sandbox Code Playgroud)

python reflection module inspect

376
推荐指数
13
解决办法
59万
查看次数

在Rails 3中从lib文件夹加载模块/类的最佳方法?

由于最新的Rails 3版本不再自动加载来自lib的模块和类,加载它们的最佳方法是什么?

来自github:

A few changes were done in this commit:

Do not autoload code in *lib* for applications (now you need to explicitly 
require them). This makes an application behave closer to an engine 
(code in lib is still autoloaded for plugins);
Run Code Online (Sandbox Code Playgroud)

module ruby-on-rails class autoload ruby-on-rails-3

271
推荐指数
9
解决办法
13万
查看次数

NodeJS计划支持导入/导出es6(es2015)模块

我一直在寻找互联网,没有明确的答案.

目前使用的NodeJS只CommonJS的语法来加载模块,如果你真的想使用标准ES2015模块语法,你要么必须事先transpile,或在运行时使用外部模块加载.

目前我不太喜欢使用这两种方法,NodeJS维护者是否计划支持ES2015模块?我还没有找到关于此的暗示.

目前NodeJS 6.x声称支持96%的ES2015功能,但没有任何模块参考(NodeJS ES2105支持链接).

你知道NodeJS是否会在不久的将来支持这些模块?

javascript module node.js ecmascript-6 es6-modules

264
推荐指数
1
解决办法
8万
查看次数

Node.js和ES6中的module.exports与export默认值

Node module.exports和ES6有什么区别export default?我试图找出当我尝试export default在Node.js 6.2.2中时为什么我得到"__不是构造函数"错误.

什么有效

'use strict'
class SlimShady {
  constructor(options) {
    this._options = options
  }

  sayName() {
    return 'My name is Slim Shady.'
  }
}

// This works
module.exports = SlimShady
Run Code Online (Sandbox Code Playgroud)

什么工作

'use strict'
class SlimShady {
  constructor(options) {
    this._options = options
  }

  sayName() {
    return 'My name is Slim Shady.'
  }
}

// This will cause the "SlimShady is not a constructor" error
// if in another file I try …
Run Code Online (Sandbox Code Playgroud)

module node.js ecmascript-6

246
推荐指数
2
解决办法
18万
查看次数

我无法安装python-ldap

当我运行以下命令时:

sudo pip install python-ldap
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

在Modules/LDAPObject.c:9中包含的文件中:

Modules/errors.h:8:致命错误:lber.h:没有这样的文件或目录

任何想法如何解决这一问题?

python module ldap

239
推荐指数
9
解决办法
19万
查看次数

Python 3:ImportError"没有名为Setuptools的模块"

我在使用Python 3安装软件包时遇到了麻烦.

我一直用setup.py install命令安装包.但是现在当我尝试安装ansicolors包时,我得到:

importerror"没有名为Setuptools的模块"

我不知道该怎么办,因为我从未有过Setuptools,而且我仍然安装了许多setup.py install没有setuptools的命令包,现在我应该得到setuptools.

我甚至无法安装setuptools,因为我有python 3.3和setuptools不支持python 3.

为什么我的安装命令不再起作用?

python module package setup.py python-3.3

233
推荐指数
12
解决办法
43万
查看次数

`from ... import` vs`import .`

我想知道代码片段之间是否有任何区别

from urllib import request
Run Code Online (Sandbox Code Playgroud)

和片段

import urllib.request
Run Code Online (Sandbox Code Playgroud)

或者它们是否可以互换.如果它们是可互换的,那就是"标准"/"首选"语法(如果有的话)?

谢谢!

python syntax import module python-import

230
推荐指数
3
解决办法
31万
查看次数

Nodejs在Windows上找不到已安装的模块?

我正在Windows上学习nodejs.使用npm.cmd全局安装了几个模块,nodejs无法找到已安装的模块.以玉为例,

npm install jade -g
Run Code Online (Sandbox Code Playgroud)

Jade安装在目录中"C:\Program Files (x86)\nodejs\node_modules",但以下代码将失败并显示"Cannot find module 'jade'"错误,

var jade = require('jade');
Run Code Online (Sandbox Code Playgroud)

但是,当本地安装jade时,代码将成功运行(在npm中没有-g选项).我不想使用本地安装的模块,这对我来说是浪费磁盘空间,有人可以帮助我使全局安装的模块在Windows上运行吗?

windows module require node.js npm

230
推荐指数
9
解决办法
27万
查看次数

在python中定义私有模块函数

根据http://www.faqs.org/docs/diveintopython/fileinfo_private.html:

像大多数语言一样,Python具有私有元素的概念:

  • 私有函数,无法从模块外部调用

但是,如果我定义了两个文件:

#a.py
__num=1
Run Code Online (Sandbox Code Playgroud)

和:

#b.py
import a
print a.__num
Run Code Online (Sandbox Code Playgroud)

当我运行b.py它打印出来,1没有任何例外.diveintopython错了,还是我误解了什么?而且是有一些方法可以定义模块的功能为私有?

python module private function

225
推荐指数
6
解决办法
21万
查看次数