我对CLR中内在触发功能的不准确性感到非常恼火.众所周知
Math.Sin(Math.PI)=0.00000000000000012246063538223773
Run Code Online (Sandbox Code Playgroud)
而不是0.发生类似的事情Math.Cos(Math.PI/2)
.
但是当我进行一系列长时间的计算时,我会对特殊情况进行评估
Math.Sin(Math.PI/2+x)-Math.Cos(x)
Run Code Online (Sandbox Code Playgroud)
对于x = 0.2,结果为零,但对于x = 0.1,结果为零(试一试).另一个问题是当论证数量很大时,不准确性会成比例地变大.
所以我想知道是否有人编写了一些更好的C#中的trig函数表示,以便与世界共享.CLR是否调用了一些实现CORDIC或类似的标准C数学库?链接:维基百科CORDIC
我不需要itertools.groupby的懒惰.我只是想把我的列表分成一个列表的字典:
dict([(a, list(b)) for a,b in itertools.groupby(mylist, mykeyfunc)])
Run Code Online (Sandbox Code Playgroud)
是否有标准功能已经这样做了?
在开发和调试时,我有时希望能写出一个转换了一堆变量的名称,类型和值的1-liner.问题是我不知道如何访问变量的名称,如果我可以的话.
这是第一次尝试:
foo = 1
bar = "42"
baz = Hash.new
[foo, bar, baz].each do |v|
puts "#{v.???} = (#{v.class}) #{v}"
end
Run Code Online (Sandbox Code Playgroud)
我希望这个程序的输出是这样的:
foo = (Fixnum) 1
bar = (String) 42
baz = (Hash) ...
Run Code Online (Sandbox Code Playgroud)
我不知道???
上面应该是什么.可以这样做吗?
是否有一种快速的,单行的方式将Unix时间戳转换为Unix命令行中的日期?
date
可能会工作,除了指定每个元素(月,日,年,小时等)相当尴尬,我无法弄清楚如何让它正常工作.似乎可能有一种更简单的方法 - 我错过了什么吗?
我遇到的情况是,我需要解析字符串中的参数,就像在命令行中提供给Java/Clojure应用程序时解析它们一样.
例如,我需要"foo \"bar baz\" 'fooy barish' foo"
变成("foo" "bar baz" "fooy barish" "foo")
.
我很好奇是否有办法使用Java或Clojure用来执行此操作的解析器.我并不反对使用正则表达式,但我对正则表达式感到厌恶,如果我试图为此写一个,我会努力的.
有任何想法吗?
我实现了一个画廊,在里面我有很多从左到右的列表视图.出于某种原因,Gallery适用于所有视图,但不适用于listview.使用listview,当在库中滚动时,有时我会跳得很少.
任何人都知道如何解决这个问题?
一些注意事项:图库使用适配器来查找要显示的内容,然后基于适配器创建列表视图
谢谢
如何在调用WCF服务时定义WCF客户端使用的LocalEndPoint(如果客户端计算机有多个IP地址)?
我有一台位于DMZ中的机器有两个IP地址,外部IP地址可以通过防火墙通过我们位于外部服务提供商的网络服务器的VPN连接到达.在此计算机上运行基于WCF和Unity的自定义应用程序服务器,该服务器应充当代理或应用程序级网关(ALG).它应接受来自Web服务器的服务调用,并使用wcf客户端工厂重新生成服务调用,将它们转发到LAN中的真实应用服务器.
当使用wcf客户端工厂在此代理上重新创建服务调用时,wcf客户端应使用此计算机的第二个内部IP地址,因为只允许来自此内部IP地址的消息通过防火墙才能到达局域网中的应用服务器.不幸的是,我们的wcf客户端代理始终选择使用第一个"外部"IP地址创建传出消息.我正在寻找一种方法来明确设置wcf客户端代理使用的IP地址.
我只能找到一个允许定义LocalEndPoint或ClientBaseAddress的WCF绑定元素:CompositeDuplexBindingElement.据我所知,这个属性是告诉服务器在哪里发送asynch回复消息,所以它与我正在寻找的设置不同.
任何想法我能做些什么才能找到可行的解决方案?
提前感谢任何有用的建议!!
这似乎是一个类似的问题,只使用TcpClient/Sockets而不是WCF: 在C#中指定用于TCPClient/Socket的传出IP地址
另一个,这次是关于SoapClient: 在发送传出请求之前将新的SoapClient绑定到特定的IP地址
我有一个WPF应用程序,如果我在Visual Studio中调试(F5)(调试和发布模式都工作),可以很好地工作,但如果我尝试双击bin\Release文件夹中的.exe,Windows会杀死应用程序立即.
问题似乎是可执行文件找不到"PresentationFramework.Aero",我将其添加到我的App的资源字典中,如下所示:
<ResourceDictionary.MergedDictionaries>
<ResourceDictionary
Source="/PresentationFramework.Aero;component/themes/Aero.NormalColor.xaml" />
<ResourceDictionary
Source="pack://application:,,,/WPFToolkit;component/Themes/Aero.NormalColor.xaml" />
</ResourceDictionary.MergedDictionaries>
Run Code Online (Sandbox Code Playgroud)
包含Aero主题(或指向它)的正确方法是什么,以便我可以发布我的应用程序?
这是我得到的确切错误:
无法加载文件或程序集"PresentationFramework.Aero,Culture = neutral"或其依赖项之一.系统找不到指定的文件.":"PresentationFramework.Aero,Culture = neutral
我有两张桌子.在一张桌子上,我有一个最多入住的宿舍房间列表,如下所示:
dorm_building | dorm_room | max_occupancy
Run Code Online (Sandbox Code Playgroud)
然后我有一个学生名单和他们被分配到的房间这样:
people_id | people_name | dorm_building | dorm_room
Run Code Online (Sandbox Code Playgroud)
我想创建一个每个潜在占用者都有一行的表(例如,如果一个房间有五个可能的占用者,那么该表应该有五行).然后我想将学生记录加入此表.然后,我将使用Reporting Services将其吐出来,以提供一个可视地图,显示谁在哪个房间以及哪些空白点仍然可用.
救命?
如果我有一个脚本将1000行写入文件然后继续针对该文件的正则表达式,但是只有最后100行文本可用.解决此问题的一种方法是关闭并重新打开文件.有没有办法在写入后重新加载文件,或者我应该只写一个写入关闭打开模块?在第一次打开时,日志文件不存在/为空可能是相关的.
>>> the_page = 'some large site opened through urllib'
>>> logfile = open('./artist/' + tags['ARTIST'], 'r+')
>>> logfile.write(the_page)
>>> print logfile.read()
Run Code Online (Sandbox Code Playgroud)
什么也没出现.
>>> 'Some regular expressions search'
Run Code Online (Sandbox Code Playgroud)
搜索最后100行写入.
>>> logfile.close()
>>> logfile = open('./artist/' + tags['ARTIST'], 'r+')
>>> print logfile.read()
Run Code Online (Sandbox Code Playgroud)
一切都出现了.
>>> 'Some regular expressions search'
Run Code Online (Sandbox Code Playgroud)
按预期执行.
python ×2
android ×1
bash ×1
c# ×1
clojure ×1
clr ×1
command-line ×1
file-io ×1
ip-address ×1
java ×1
regex ×1
ruby ×1
shell ×1
sql ×1
sql-server ×1
trigonometry ×1
unix ×1
wcf ×1
wcf-binding ×1
wcf-client ×1
wpf ×1
xaml ×1