所以这里的问题很简单:有没有办法判断StringJava是否被实习?我的猜测是否定的,但我想知道是否有人知道更好.
我正在用Gtk和Glade开发一个应用程序.我的印象是,为您的主窗口创建GtkWindow的子类是常见的做法,但我仍然坚持如何从GtkBuilder定义构造我的子类.有谁知道怎么样?
我在学习Scala时遇到了困难.我有一个继承层次结构,基本上等同于:
class A {
protected def myMethod() = println("myMethod() from A")
}
class B extends A {
def invokeMyMethod(a: A) = a.myMethod()
}
Run Code Online (Sandbox Code Playgroud)
但是尝试编译这个示例,我得到错误"test.scala:7:error:方法myMethod无法在A中访问".
来自Java,我的理解是受保护的成员应该可以在派生类的任何位置访问,而且我在任何地方都看不到任何告诉我Scala中的受保护成员受实例限制的内容.有没有人对此有解释?
我有一个地图,其中键和值都是泛型类型.像这样的东西:
Map[Foo[A], Bar[A]]
Run Code Online (Sandbox Code Playgroud)
我想表达的是,A地图中每个键值对的类型可能不同,但每个键的参数化始终与它映射到的值的类型相同.所以Foo[Int]总是映射到a Bar[Int],a Foo[String]总是映射到a Bar[String],依此类推.
有谁知道表达这种方式的方法?
编辑:
这是我正在尝试做的事情的一个例子:
trait Parameter // not important what it actually does
class Example {
val handlers: Map[_ <: Parameter, (_ <: Parameter) => _] = Map()
def doSomething() {
for ((value, handler) <- handlers) {
handler(value)
}
}
}
Run Code Online (Sandbox Code Playgroud)
这个想法是一个值总是映射到一个可以接受它作为参数的函数,但是现在编写代码时,编译器无法知道这一点.
所有.我想知道Emacs lisp是否有一个内置函数来检查字符串是否完全由大写字符组成.这就是我现在正在使用的:
(setq capital-letters (string-to-list "ABCDEFGHIJKLMNOPQRSTUVWXYZ"))
(defun chars-are-capitalized (list-of-characters)
"Returns true if every character in a list of characters is a capital
letter. As a special case, the empty list returns true."
(cond
((equal list-of-characters nil) t)
((not (member (car list-of-characters) capital-letters)) nil)
(t (chars-are-capitalized (cdr list-of-characters)))))
(defun string-is-capitalized (string)
"Returns true if every character in a string is a capital letter. The
empty string returns true."
(chars-are-capitalized (string-to-list string)))
Run Code Online (Sandbox Code Playgroud)
它工作正常(虽然它依赖于我只会使用ASCII字符的假设),但我想知道我是否缺少一些我应该知道的明显功能.
所有.我正在为我的django网站管理员,我遇到了一个障碍.
我有一个Entry模型和一个Related模型.该Related模型有两个外键字段:一个用于Entry模型(entry),另一个用于django的User模型(author).该Related模型被认为是一个"子模型" Entry模型,并且每个用户只能有一个Related每Entry.
在管理员中,Related内联编辑Entry.我拥有它,管理员一次只显示一个额外Related的,它会自动author用当前用户填充该字段:
from django.contrib import models
from django.contrib.auth.models import User
class Entry(models.Model):
pass
class Related(models.Model):
entry = models.ForeignKey(Entry)
author = models.ForeignKey(User)
class Meta:
unique_together = ('entry', 'author')
from django.contrib import admin
class RelatedInline(admin.StackedInline):
model = Related
exclude = ('author',)
max_num = 1
class EntryAdmin(admin.ModelAdmin):
inlines = (RelatedInline,)
def save_formset(self, …Run Code Online (Sandbox Code Playgroud) 所有.我是C++的新手,我正在用C++编写一个小型库(主要用于我自己的项目).在设计类型层次结构的过程中,我遇到了定义赋值运算符的问题.
我采用了本文最终达到的基本方法,即对于MyClass从类派生的层次结构中的每个类,Base您定义了两个赋值运算符,如下所示:
class MyClass: public Base {
public:
MyClass& operator =(MyClass const& rhs);
virtual MyClass& operator =(Base const& rhs);
};
// automatically gets defined, so we make it call the virtual function below
MyClass& MyClass::operator =(MyClass const& rhs);
{
return (*this = static_cast<Base const&>(rhs));
}
MyClass& MyClass::operator =(Base const& rhs);
{
assert(typeid(rhs) == typeid(*this)); // assigning to different types is a logical error
MyClass const& casted_rhs = dynamic_cast<MyClass const&>(rhs);
try {
// allocate new …Run Code Online (Sandbox Code Playgroud) scala ×2
boost ×1
c++ ×1
django ×1
django-admin ×1
elisp ×1
emacs ×1
generics ×1
glade ×1
gtk ×1
gtkbuilder ×1
java ×1
lisp ×1
polymorphism ×1
protected ×1
string ×1
typechecking ×1