即使我已经GOPATH正确设置,我仍然无法"go build"或"go run"来找到我自己的包.我究竟做错了什么?
$ echo $GOROOT
/usr/local/go
$ echo $GOPATH
/home/mitchell/go
$ cat ~/main.go
package main
import "foobar"
func main() { }
$ cat /home/mitchell/go/src/foobar.go
package foobar
$ go build main.go
main.go:3:8: import "foobar": cannot find package
Run Code Online (Sandbox Code Playgroud) 我想在每次调用console.log()之后使用console.log()来记录消息而不添加新行.这可能吗?
我有一个带有ViewPager三个和三个Fragment的应用程序.我正在试图弄清楚如何让当前Fragment被观看,以便我可以得到它的论据.
我OnPageChangeListener抓住了当前页面索引,但是
ViewPager.getChildAt(int position);
Run Code Online (Sandbox Code Playgroud)
返回一个View.这View和现在的关系是什么Fragment?
是否可以使用Python代码创建局部变量,只给出变量的名称(字符串),以便后续调用locals()中的"'xxx'"将返回True?
这是一个视觉:
>>> 'iWantAVariableWithThisName' in locals()
False
>>> junkVar = 'iWantAVariableWithThisName'
>>> (...some magical code...)
>>> 'iWantAVariableWithThisName' in locals()
True
Run Code Online (Sandbox Code Playgroud)
出于什么目的,我需要这个技巧完全是另一个话题......
谢谢您的帮助.
如果我有一条路线,例如
/foo/#String FooR GET POST
Run Code Online (Sandbox Code Playgroud)
如何在 hamlet 文件中插入此路径(例如,要发布到?)
以下不起作用:
<form method=post action=@{FooR} ... >
<form method=post action=@{FooR}someString ... >
<form method=post action=@{FooR}#someString ... >
<form method=post action=@{FooR}#{some_variable} ... >
Run Code Online (Sandbox Code Playgroud)
谢谢!
编辑:明白了。它是
<form method=post action=@{FooR some_variable} ... >
Run Code Online (Sandbox Code Playgroud) 我正在努力为下面的班级组织找到一个"pythonic"方法:
我有一个基类,其构造函数初始化了属性,例如:
class Animal(object):
def __init__(self, class_, species, is_domesticated):
self.class_ = class_
self.species = species
self.is_domesticated = is_domesticated
Run Code Online (Sandbox Code Playgroud)
然后,当我进行子类化时,我想"硬编码"这些属性中的一个或多个,如下所示:
class Mammal(Animal):
def __init__(self, species, is_domesticated):
Animal.__init__(self, 'Mammal', species, is_domesticated)
Run Code Online (Sandbox Code Playgroud)
因此,哺乳动物就像这样实例化:
monkey = Mammal('Primate', false)
Run Code Online (Sandbox Code Playgroud)
问题是,我想使用*args以便在更改基类定义时单独保留任何派生类.因此,哺乳动物的定义变为:
class Mammal(Animal):
def __init__(self, *args):
Animal.__init(self, *(args + (class_='Mammal',)))
Run Code Online (Sandbox Code Playgroud)
哪个(不用说)看起来很可怕.一些提示将不胜感激=)
我是Python的自定义排序功能的新手,但我确信可以完成以下任务.我有一个元组列表,每个元组看起来像这样:
(some_int, some_int2, string)
Run Code Online (Sandbox Code Playgroud)
我想通过some_int和some_int2之间的下降差异对列表进行排序,即这两个整数之间的最大差异应该在列表的头部.可以安全地假设some_int2 总是大于some_int.
谢谢你们.
我得到熟悉的free():无效的指针错误.在尝试调试时,我最终在我的代码中逐个注释掉每个free(),直到没有剩下,我仍然得到这个运行时错误.还有其他人遇到过类似的问题吗?
顺便说一句 - 我很难使用gdb进行调试,因为整个服务器在打印错误消息时实际上并不会崩溃,只是处理单个客户端的特定分叉进程.
谢谢.
==============================
*** glibc detected *** ./server: free(): invalid pointer: 0x08641a38 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x6b961)[0xefe961]
/lib/i386-linux-gnu/libc.so.6(+0x6d28b)[0xf0028b]
/lib/i386-linux-gnu/libc.so.6(cfree+0x6d)[0xf0341d]
/usr/lib/i386-linux-gnu/libstdc++.so.6(_ZdlPv+0x21)[0x4c74d1]
./server[0x804b499]
./server[0x804b2ad]
./server[0x804aecd]
./server[0x804ad36]
./server[0x804a3a3]
/lib/i386-linux-gnu/libc.so.6(+0x2fa6f)[0xec2a6f]
/lib/i386-linux-gnu/libc.so.6(+0x2facf)[0xec2acf]
./server[0x804966b]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0xea9e37]
./server[0x8049331]
======= Memory map: ========
00338000-00352000 r-xp 00000000 08:01 394236 /lib/i386-linux-gnu/libgcc_s.so.1
00352000-00353000 r--p 00019000 08:01 394236 /lib/i386-linux-gnu/libgcc_s.so.1
00353000-00354000 rw-p 0001a000 08:01 394236 /lib/i386-linux-gnu/libgcc_s.so.1
003c1000-003c2000 r-xp 00000000 00:00 0 [vdso]
0041d000-004fc000 r-xp 00000000 08:01 792946 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.14
004fc000-00500000 r--p 000de000 08:01 792946 /usr/lib/i386-linux-gnu/libstdc++.so.6.0.14
00500000-00501000 rw-p 000e2000 08:01 792946 …Run Code Online (Sandbox Code Playgroud) 我有一个简单的异常日志装饰器,当我的脚本抛出异常时,它可以方便地发送自己的电子邮件.
def logExceptions(func):
def wrapper():
try:
func()
except Exception, e:
logger.exception(e)
return wrapper
Run Code Online (Sandbox Code Playgroud)
但是,如果我想装饰一个类方法,我必须修改wrapper()以获取'self',否则我会收到以下错误:
TypeError: wrapper() takes no arguments (1 given)
Run Code Online (Sandbox Code Playgroud)
当然,在那一点上我不能用它来装饰任何非类方法,因为这样就会发生这样的错误:
TypeError: wrapper() takes exactly 1 argument (0 given)
Run Code Online (Sandbox Code Playgroud)
有没有一个干净的方法来解决这个问题?谢谢=)
对于模糊标题的道歉,这里有一些背景:http://themonadreader.files.wordpress.com/2013/08/issue221.pdf
上述问题中的GADT文章介绍了Nat类型和用于各种类型级列表函数的natSing类型(concat,!!,head,repeat等).对于其中的几个函数,有必要创建类型族来定义Nat类型的+和<.
data Nat = Zero | Succ Nat
data NatSing (n :: Nat) where
ZeroSing :: NatSing Zero
SuccSing :: NatSing n -> NatSing (Succ n)
data List (n :: Nat) a where
Nil :: List n a
Cons :: a -> List n a -> List (Succ n) a
Run Code Online (Sandbox Code Playgroud)
无论如何,我已经编写了一个函数"list",它将普通[a]转换为a List n a,以方便调用者.这需要列表的长度作为输入,就像repeat(来自链接文章):
list :: [a] -> NatSing n -> List n a
list [] ZeroSing = Nil
list (x:xs) …Run Code Online (Sandbox Code Playgroud) python ×4
android ×1
args ×1
arguments ×1
build ×1
c ×1
closures ×1
console ×1
decorator ×1
free ×1
gadt ×1
go ×1
hamlet ×1
haskell ×1
inheritance ×1
integer ×1
javascript ×1
list ×1
local ×1
logging ×1
memory ×1
oop ×1
package ×1
path ×1
pointers ×1
sorting ×1
tuples ×1
types ×1
variables ×1
wrapper ×1
yesod ×1