小编Ivo*_*zel的帖子

究竟是什么'对齐指针'?

有人请告诉我对齐指针究竟意味着什么?

c c++

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

Code Golf:2D平台游戏

挑战

  • 到达关卡的尽头!
  • 如果您恰好击中每个(C)oin块2次,则可获得奖励积分.

不允许

  • 以任何方式对命令序列进行硬编码.
  • 你最喜欢的"一种语言"碰巧只做一件事,就是解决这个问题.

如何

您的程序通过标准输入接收以下级别(没有换行符).
然后它必须打印出成功完成关卡所需的命令.

水平

  • S是你的起始位置.
  • E您需要完成关卡的位置.
  • C是一个有2个硬币的硬币块,你永远不必跳过其中一个以便能够完成关卡.
  • 无论 ç_算作地面的话,只有脚踏实地没有浮动平台.
  • | 是一堵墙,为了完成水平,你需要跳起来的所有墙壁都是最高1墙高,所有更高的墙,你可以认为是一个你无法以任何方式摆脱的深渊.
  • x是尖峰,猜猜如果你触摸会发生什么.尖峰总是比它们周围的地面低一级.

所有级别都是4行高,每行63个字符宽.这使得每个级别总共252个字符.

>                       ______  ____       ________  ___        <
>    C            ______|    |  |  |  C  __|      |  | |   ____E<
>S______  __  ____|          |  |  |_____|        |__| |___|    <
>       xx  xx                xx                                <
Run Code Online (Sandbox Code Playgroud)

注意: > <仅用于说明边框,它们包含在程序的输入中.还要注意你的文本编辑器,因为我多次搞乱了空白

命令

  • M =向右移动1,如果你下面没有地面,你会掉下来直到你击中它.你跌倒时不能移动.
  • J =跳跃,在接下来的3个命令中向上移动1或直到你击中(C)oin Block.在那之后,你会跌倒直到你到达地面.你只能在地面上跳跃.如果M让你与地面处于同一水平,则跳跃被取消.
  • O = NOP,会让你等待/什么也不做.这样你就可以跳出只有1个宽度的洞和尖刺(你不需要这个以上的等级,但如果你能解决需要它的等级,你将获得额外的分数).

解决方案(带硬币块)

连续命令堆叠在一起. …

language-agnostic code-golf rosetta-stone

26
推荐指数
2
解决办法
2174
查看次数

检查该值是否为对象字面值?

在迭代之前,我有一个值并想知道它是否是可迭代的对象文字.

我怎么做?

javascript

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

Graphviz DOT以圆圈排列节点,布局太"紧凑"

我在那里,请看编辑

好的,这是我的问题,我正在生成一个python模块的图形,包括所有带有它们的函数/方法/类的文件.

我想安排它,节点聚集在它们的父节点周围,目前一切都在一个巨大的水平行上,这使得事物> 50k像素宽,并且让svg转换器失败(只渲染图的一半) ).

我浏览了文档但找不到任何似乎可以解决的问题.

所以问题是:
有没有一种简单的方法可以做到这一点,还是我必须自己布局整个事情?:/

编辑:
感谢安德鲁斯评论我有正确的布局,现在唯一的问题是它有点"紧凑"...所以现在的问题是,如何解决这个问题?

测试

layout graph dot graphviz

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

面试的Python编码测试问题

我正在尝试提出一个很好的编码问题,要求面试候选人用Python解决.

他们将有一个小时来处理这个问题,使用IDE和访问文档(我们不关心人们记忆的内容).

我不是在寻找一个严格的算法问题 - 在采访的其他部分我们做了那样的事情.本节的重点是坐下来观看它们实际编写的代码.所以应该让它们只使用数据结构,这些数据结构是应用程序开发人员的日常工具 - 列表,哈希表(Python中的字典)等,以解决准现实的任务.如果他们想不出真正聪明的东西,就不应该完全阻止它们.

我们有一个问题,我们用于Java编码测试,包括读取文件和对内容进行一些处理.它适用于熟悉Java(甚至C++)的候选人.但是我们遇到了许多不熟悉Java或C++或C#或类似东西的候选人,但他们知道Python或Ruby.这不应该排除它们,但让我们陷入两难境地:一方面,我们从观察某人与一种完全陌生的语言的基础知识斗争中学到的东西并不多.另一方面,我们在Java中使用的问题在Python(或Ruby等)中变得非常微不足道 - 任何一半有能力的人都可以在15分钟内完成.所以,我正试图想出更好的东西.

令人惊讶的是,谷歌没有告诉我任何人做这样的事情,除非我太愚蠢无法进入明显的搜索词.我提出的最好的想法是将工作人员安排到时间段,但它可能有点过于开放.你有一个很好的例子吗?还是坏的?或者你只是有个主意吗?

python

19
推荐指数
2
解决办法
5万
查看次数

Python类设计 - 将大类拆分为多个类以分组功能

好的,我有2个非常大的类> 1k行,我现在分成多个.然后,他们使用多重继承重新组合.现在我想知道,如果有更干净/更好的pythonic方式这样做.完全将它们分解出去会导致无数的self.otherself.do_something调用,我认为这不应该是它应该完成的方式.

为了使事情清楚,这是它目前的样子:

from gui_events import GUIEvents # event handlers
from gui_helpers import GUIHelpers # helper methods that don't directly modify the GUI

# GUI.py
class GUI(gtk.Window, GUIEvents, GUIHelpers):
    # general stuff here stuff here
Run Code Online (Sandbox Code Playgroud)

造成这种情况的一个问题是Pylint抱怨给我数万亿的"init not called"/"undefined attribute"/"在定义之前访问的属性"警告.

编辑:
你可能想看看代码,让自己想象一下整个事情究竟是什么.
http://github.com/BonsaiDen/Atarashii/tree/next/atarashii/usr/share/pyshared/atarashii/

请注意,我正在尝试将这个东西尽可能保持干燥,我正在使用pylint来检测代码重复,它唯一抱怨的是导入.

python class

15
推荐指数
2
解决办法
6398
查看次数

在javascript中合并两个对象文字

我有两个对象文字:

var animal = {
    eat: function() {
        console.log("eating...");
    }
}

var dog = {
    eat: "this has to be replaced when merged",
    nrOfLegs: 4
}
Run Code Online (Sandbox Code Playgroud)

需要这样的合并功能:

dog = someMergingFunction(animal, dog);
Run Code Online (Sandbox Code Playgroud)

这产生:

{
    eat: function() {
        console.log("eating...");
    },
    nrOfLegs: 4
}
Run Code Online (Sandbox Code Playgroud)

其中一个对象文字必须替换相同的属性.

我如何在Javascript中执行此操作?

javascript

12
推荐指数
4
解决办法
7523
查看次数

Python:将JSON(由URL返回)转换为List

我正在请求youtube搜索词与jquery autocomplete一起使用,但我很难将URL响应转换为正确的格式.

在我的(Django/Python)视图中我做:

data2 = urllib2.urlopen('http://suggestqueries.google.com/complete/search?hl=en&ds=yt&client=youtube&hjson=t&jsonp=window.yt.www.suggest.handleResponse&q=jum&cp=3')
Run Code Online (Sandbox Code Playgroud)

(为简单起见,我硬编码了搜索词='jump')

如果我这样做,data2.read()我得到我认为是JSON(将URL复制粘贴到浏览器中也会返回此内容.)

window.yt.www.suggest.handleResponse(["jum",[["jumpstyle","","0"],["jump","","1"],["jump around","","2"],["jump on it","","3"],["jumper","","4"],["jump around house of pain","","5"],["jumper third eye blind","","6"],["jumbafund","","7"],["jump then fall taylor swift","","8"],["jumpstyle music","","9"]],"","","","","",{}])
Run Code Online (Sandbox Code Playgroud)

我需要以jquery autocomplete可以读取的格式返回它.我知道如果我可以把它放到列表中,它会起作用,例如,mylist = ['jumpstyle', 'jump', 'jump around', ...]

然后在返回之前将其转换回json:

json.dumps(mylist)
Run Code Online (Sandbox Code Playgroud)

(如果我直接mylist如上所述直接定义,这是有效的.)

但我无法从URL返回的数据中获取一个简单的列表(然后我将其转换回JSON)或某些形式的JSON,我可以直接返回以供auto complete使用.

除其他外,我试过了

j2 = json.loads(data2)
Run Code Online (Sandbox Code Playgroud)

j2 = json.loads(data2.read())
Run Code Online (Sandbox Code Playgroud)

希望有人可以帮忙!

python json

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

fread/ftell显然在Windows下崩溃,在Linux下运行良好

所以这就是问题,我正在为我的游戏阅读一个关卡文件,在linux下工作正常:

@0
@12
200x200 version 3
@16
973 blocks
@989
@993
18 zones
Run Code Online (Sandbox Code Playgroud)

但在Windows下我得到以下结果:

@0
@212
200x200 version 3
@216
973 blocks
@1200
@1204
18 zones
Run Code Online (Sandbox Code Playgroud)

呃?窗口的ftell统计数据偏移量为200?读取文件显然会产生相同的数据,但是fread使用(?)ftell的值来确定文件中可以读取的字节数.所以当我在文件末尾阅读时遇到问题:

@1425
zone#9 2x3 @ 66/9
@1425
zone#10 2x3 @ 66/9
@1425
zone#11 2x3 @ 66/9
@1425
zone#12 2x3 @ 66/9
@1425
zone#13 2x3 @ 66/9
@1425
zone#14 2x3 @ 66/9
etc.
Run Code Online (Sandbox Code Playgroud)

这是相应的代码(由于所有调试打印,目前有点丑陋..):

void fread_all(void *ptr, size_t size, size_t count, FILE *stream) {
    fread(ptr, size, count, stream);
    printf("@%ld\n", ftell(stream));
}


bool map_load(struct Map *map, …
Run Code Online (Sandbox Code Playgroud)

c linux windows file-io

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

在Linux下检测Python/GTK中的用户注销/关闭 - 未收到SIGTERM/HUP

好吧这可能是一个很难的,我有一个pyGTK应用程序,由于我无法捕获/控制的X Window错误导致随机崩溃.

所以我创建了一个包装器,一旦检测到崩溃就重新启动应用程序,现在出现了问题,当用户注销或关闭系统时,应用程序以状态1退出.但是在某些X错误上它也会这样做.

所以我尝试了任何事情以捕获关闭/注销,但没有成功,这是我尝试过的:

import pygtk
import gtk
import sys


class Test(gtk.Window):
    def delete_event(self, widget, event, data=None):
        open("delete_event", "wb")

    def destroy_event(self, widget, data=None):
        open("destroy_event", "wb")

    def destroy_event2(self, widget, event, data=None):
        open("destroy_event2", "wb")

    def __init__(self):
        gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
        self.show()
        self.connect("delete_event", self.delete_event)
        self.connect("destroy", self.destroy_event)
        self.connect("destroy-event", self.destroy_event2)      

def foo():
    open("add_event", "wb")

def ex():
    open("sys_event", "wb")


from signal import *
def clean(sig):
    f = open("sig_event", "wb")
    f.write(str(sig))
    f.close()
    exit(0)

for sig in (SIGABRT, SIGILL, SIGINT, SIGSEGV, SIGTERM):
    signal(sig, lambda *args: clean(sig))


def at():
    open("at_event", "wb") …
Run Code Online (Sandbox Code Playgroud)

python linux gtk pygtk sigterm

7
推荐指数
1
解决办法
3601
查看次数