小编use*_*951的帖子

不规则形状的Windows窗体(C#)

最简单的方法是什么?托管代码可以吗?

.net c# winforms

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

如何在不破坏apt的情况下更新Python 3的替代方案?

前几天,我决定让python命令默认启动python3而不是python2。

所以我这样做:

sudo update-alternatives --install /usr/bin/python python /usr/bin /python2.7 2

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 3
Run Code Online (Sandbox Code Playgroud)

sudo update-alternatives --config python

$ sudo update-alternatives --config python
There are 2 choices for the alternative python (providing /usr/bin/python).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.5   3         auto mode
  1            /usr/bin/python2.7   2         manual mode
  2            /usr/bin/python3.5   3         manual mode

Press <enter> to keep the current choice[*], or type selection number: 0
Run Code Online (Sandbox Code Playgroud)

而且一切正常。大!:)

$ python -V
Python 3.5.2
Run Code Online (Sandbox Code Playgroud)

但是不久之后,我就意识到在安装和删除python软件包时我已经打破了apt / aptitude的范畴,因为apt期望python2能够实现。

就是这样

$ …
Run Code Online (Sandbox Code Playgroud)

python linux ubuntu debian apt

17
推荐指数
5
解决办法
4万
查看次数

跨应用程序使用django模型?

所以在我的Django项目中,我有一些不同的应用程序,每个应用程序都有自己的模型,视图,模板等.这些应用程序通信的好方法("Django"方式)是什么?

一个具体的例子是会议应用程序,它有一个会议模型,我有一个家庭应用程序,我想在主页上显示前5个会议.

Home App的View应该只查询Meetings App的模型吗?

感觉就像穿越某条线一样,在Django中可能会有一种更加去耦合的方式来做这样的事情.

django django-models django-apps

16
推荐指数
1
解决办法
5966
查看次数

如何访问IRB中所需的Ruby文件中定义的变量?

该文件welcome.rb包含:

welcome_message = "hi there"
Run Code Online (Sandbox Code Playgroud)

但是在IRB中,我无法访问刚刚创建的变量:

require './welcome.rb'

puts welcome_message 

# => undefined local variable or method `welcome_message' for main:Object
Run Code Online (Sandbox Code Playgroud)

当您require进入IRB会话时,引入预定义变量并完成初始化工作的最佳方法是什么?全局变量似乎不是正确的路径.

ruby variables scope irb requires

16
推荐指数
1
解决办法
5423
查看次数

rbenv应该在系统范围内安装还是在用户级安装?

我正在建立一个流浪汉设置,其中一部分是安装rbenv.我正在使用图书管理员厨师管理我所有的厨师烹饪书,并安装了rbenv和ruby-build.

但是,当我尝试ssh到我的Vagrant虚拟机和类型时,ruby -v我得到了标准的系统安装ruby 1.8.7 (2012-02-08 patchlevel 358) [x86_64-linux].考虑到可能没有安装rbenv,我尝试运行rbenv versions,但事实上安装了rbenv:

vagrant@precise64:~$ rbenv versions
* system (set by /opt/rbenv/version)
Run Code Online (Sandbox Code Playgroud)

那么我试过rbenv install [version]:

vagrant@precise64:~$ rbenv install 1.9.3-p327
[...]

BUILD FAILED
[...]

test -z "/opt/rbenv/versions/1.9.3-p327/include" || /bin/mkdir -p "/opt/rbenv/versions/1.9.3-p327/include"
/bin/mkdir: cannot create directory `/opt/rbenv/versions/1.9.3-p327': Permission denied
Run Code Online (Sandbox Code Playgroud)

失败了Permission denied.我尝试再次安装sudo:

sudo rbenv install 1.9.3-p327
Run Code Online (Sandbox Code Playgroud)

这很有效.然后我rbenv versions再次尝试跑步:

vagrant@precise64:~$ rbenv versions
* system (set by /opt/rbenv/version)
Run Code Online (Sandbox Code Playgroud)

但它仍然说只system安装了ruby.但是,如果我运行它sudo:

vagrant@precise64:~$ sudo rbenv …
Run Code Online (Sandbox Code Playgroud)

ruby rubygems chef-infra vagrant rbenv

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

包含模块时__callee__的意外值 - 这是一个Ruby错误吗?

当通过创建的方法调用时alias_method,__callee__忽略旧方法的名称(此处xxx)并返回新方法的名称,如下所示:

class Foo
  def xxx() __callee__ end
  alias_method :foo, :xxx
end

Foo.new.foo # => :foo
Run Code Online (Sandbox Code Playgroud)

即使xxx从超类继承,此行为仍然成立:

class Sup
  def xxx() __callee__ end
end

class Bar < Sup
  alias_method :bar, :xxx
end

Bar.new.bar # => :bar
Run Code Online (Sandbox Code Playgroud)

考虑到上述两种情况,我希望xxx通过模块包含相同的行为.但事实并非如此:

module Mod
  def xxx() __callee__ end
end

class Baz
  include Mod
  alias_method :baz, :xxx
end

Baz.new.baz # => :xxx
Run Code Online (Sandbox Code Playgroud)

我希望返回值:baz不是:xxx.


上面的代码是使用Ruby 2.3.1p112执行的.这是执行中的错误__callee__吗?或者也许是alias_method?如果没有,有人可以解释为什么模块包含行为不同吗?


更新1

我已将此发布到Ruby bug跟踪器 …

ruby inheritance metaprogramming alias-method

14
推荐指数
1
解决办法
199
查看次数

Xcode找不到任何匹配的配置文件

我正在尝试重建一个以前没有问题的ios应用程序(首先在6个月左右重建).环境是OSX 10.13.5,包含所有最新更新,Xcode 9.4.1,Ionic为3.20.0.本地cordova,离子和节点模块已更新.

这些插件:

cordova-plugin-device
cordova-plugin-file
cordova-plugin-file-transfer
cordova-plugin-splashscreen
cordova-plugin-whitelist
cordova-plugin-x-socialsharing

配置为手动签名.已重新生成供应配置文件,新证书,下载和安装(多次).

我无法在调试或发布版本中消除此错误:

检查依赖性代码签名错误:找不到匹配'ABM 2018 Dev'的团队'8SEBNER3XM'的配置文件:Xcode找不到与'8SEBNER3XM/ABM 2018 Dev'匹配的任何配置文件.安装配置文件(通过将其拖放到Xcode的停靠项上)或在目标编辑器的"常规"选项卡中选择其他配置文件.代码签名错误:SDK"iOS 11.4"中的产品类型"应用程序"需要代码签名

**存档失败**

以下构建命令失败:检查依赖项(1次失败)错误:命令的错误代码65:带有args的xcodebuild:/ Users/kerickhowlett/Documents/PhoneProjects/ABM/platforms/ios/cordova/build-debug.xcconfig, -workspace,Cocktail Pro.xcworkspace,-scheme,Cocktail Pro,-configuration,Debug,-destination,generic/platform = iOS,-archivePath,Cocktail Pro.xcarchive,archive,CONFIGURATION_BUILD_DIR =/Users/kerickhowlett/Documents/PhoneProjects/ABM /平台/ IOS /建造/设备,SHARED_PRECOMPS_DIR = /用户/ kerickhowlett /文档/ PhoneProjects/ABM /平台/ IOS /构建/ sharedpch

尽管消息说明了,但在Xcode项目的General选项卡和Build Settings(即'ABM 2018 Dev')中,似乎都是完全有效的配置文件.它们匹配Library/MobileDevice/Provisioning Profiles文件夹中的文件.团队ID被验证为正确.配置文件已多次重新生成/重新安装.Xcode认为它们在Xcode中是有效的(不抱怨).作为'离子cordova build ios'运行似乎有不同的意见,并抱怨配置文件.将--release添加到命令中的类似错误.基于反复试验,PROVISIONING_PROFILE_SPECIFIER似乎是问题所在.我尝试了很多变化,但总是得到同样的错误,这似乎是假的.我尝试了两个配置文件名称和UUID.

我错过了什么?

xcode ios cordova ionic-framework

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

如何修复Xcode Organizer在"安装团队配置文件"中被绞死?

当我尝试"用于开发"触摸(第二代)超过30分钟时,XCode 3.2.5管理器被绞死:

替代文字

如果我尝试退出,则会显示警告:

替代文字

我该如何解决?

iphone xcode

13
推荐指数
1
解决办法
3962
查看次数

如何对Ruby参数进行惰性求值

我有一个代码来检查红宝石中的零.所以我想要实现的是:例如,如果我打电话get_score_value(nil,(nil-1)).我希望ruby延迟评估nil-1直到达到get_score_value函数,而不是在函数传递之前对其进行评估.换句话说,我想将数学表达式作为参数传递给方法.在ruby中最优雅的方法是什么?非常感谢

def get_score_value(value,value2)
    value.nil? ? "NULL" : value2.round(2)
end
Run Code Online (Sandbox Code Playgroud)

更新:

我刚刚意识到这个问题实际上与懒惰和严格评估的主题有关.(以下是来自这个伟大的网站:http: //www.khelll.com/blog/ruby/ruby-and-functional-programming/

严格与懒惰的评价

严格评估始终在调用函数之前完全评估函数参数.延迟评估不会评估函数参数,除非需要评估它们的值.懒惰评估的一个用途是由于避免不必要的计算而导致性能提高.

但是,如下例所示,Ruby使用严格的评估策略:

打印长度([2 + 1,3*2,1/0,5-4])=> ZeroDivisionError:除以0

传递数组的第三个参数包含除零操作,并且当Ruby正在进行严格评估时,上面的代码片段将引发异常.

ruby ruby-on-rails

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

如何在Ruby类定义的末尾设置一个钩子来运行代码?

我正在构建一个插件,允许开发人员在类定义中使用简单声明向类添加各种功能(遵循正常的acts_as模式).

例如,使用插件的代码可能看起来像

class YourClass
  consumes_my_plugin option1: :value1, specific_method_to_use: :your_method
end
Run Code Online (Sandbox Code Playgroud)

我的问题出现了,因为我想错误地检查为:specific_method_to_use参数提供的值是否作为方法存在,但通常组织和加载代码的方式,该方法尚不存在.

我的插件中的代码暂时看起来像这样:

module MyPlugin
  extend ActiveSupport::Concern

  module ClassMethods
    def consumes_my_plugin(options = {})
      raise ArgumentError.new("#{options[:specific_method_to_use]} is not defined") if options[:specific_method_to_use].present? && !self.respond_to?(options[:specific_method_to_use])
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这可行:

class YourClass
  def your_method; true; end

  consumes_my_plugin option1: :value1, specific_method_to_use: :your_method
end
Run Code Online (Sandbox Code Playgroud)

但这是大多数人编写代码的方式,它不会:

class YourClass
  consumes_my_plugin option1: :value1, specific_method_to_use: :your_method

  def your_method; true; end
end
Run Code Online (Sandbox Code Playgroud)

如何在YourClass加载时失败?我希望它出错,而不是在运行时使用NoMethodError.我可以推迟执行引发ArgumentError的行,直到加载整个类,或者做一些其他聪明的事情来实现吗?

ruby plugins loading

12
推荐指数
1
解决办法
287
查看次数