我正在使用自定义bash提示来显示git分支.
一切都在/etc/bash/bashrc
:
function formattedGitBranch {
_branch="$(git branch 2>/dev/null | sed -e "/^\s/d" -e "s/^\*\s//")"
# tried these:
echo -e "\e[0;91m ($_branch)"
echo -e "\e[0;91m ($_branch) \e[m"
echo -e $'\e[0;91m'"($_branch)"
echo "($_branch)"
echo "$(tput setaf 2) ($_branch) $(tput setaf 9)"
printf "\e[0;91m ($_branch)"
}
# color is set before function call
PS1='\[\033[01;34m\] \[\033[0;91m\]$(formattedGitBranch) \$\[\033[00m\] '
# color is set inside function
PS1='\[\033[01;34m\] $(formattedGitBranch) \$\[\033[00m\] '
Run Code Online (Sandbox Code Playgroud)
问题是,当我$_branch
在函数中设置颜色时,到达EOL时我的提示将被覆盖:
尝试了所有可能的变体tput
,printf
,$''
符号.
我通过以下方式设置颜色来解决问题PS1
:
但.. …
tail logs/development.log
XFCE终端输出:
multitail log/development.log
Run Code Online (Sandbox Code Playgroud)
Rails会自动将转义码添加到日志文件中.见development.log
文件:
^[[1m^[[36m (84.1ms)^[[0m ^[[1mCREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) ^[[0m
^[[1m^[[35m (92.6ms)^[[0m CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
^[[1m^[[36m (0.2ms)^[[0m ^[[1mSELECT version FROM "schema_migrations"^[[0m
^[[1m^[[35m (159.3ms)^[[0m INSERT INTO "schema_migrations" (version) VALUES ('20130327221553')
^[[1m^[[36m (59.9ms)^[[0m ^[[1mINSERT INTO "schema_migrations" (version) VALUES ('20130326152730')^[[0m
^[[1m^[[35m (59.8ms)^[[0m INSERT INTO "schema_migrations" (version) VALUES ('20130327173637')
Run Code Online (Sandbox Code Playgroud)
multitail -c
产生不可用的输出.
如何在不编写自己的配色方案的情况下为Multitail中的日志着色?
下面的网格选项按预期显示数据.但是,如果我尝试格式化row.entity[col.field]
cellTemplate中的值,我不会返回任何数据.
码:
$scope.gridOptions = {
enableSorting: true,
columnDefs: [
{name: 'Award Title', field: 'projectTitle', minWidth: 100 },
{name: 'Amount', field: 'awardAmount', cellTemplate: '<div>{{Number(row.entity[col.field]).toFixed(2).replace(/\d(?=(\d{3})+\.)/g, '$&,')}}
]
};
Run Code Online (Sandbox Code Playgroud)
有关如何将列格式化为货币的任何指导都表示赞赏.
谢谢.
如果这是一个无耻的怀疑我提前道歉:我想在我的Ruby代码中使用代理来获取一些网页.而且我想偷偷摸摸!所以我正在使用Tor.
我有Tor运行,我可以像往常一样使用Net :: HTTP.get(uri).但我无法弄清楚如何使用Net :: HTTP :: Proxy来获取uri.我也无法弄清楚如何使用Tor来帮助我的匿名提取.
任何帮助是极大的赞赏.请不要只为Net :: HTTP :: Proxy添加ruby-doc页面的链接.如果我明白了,我不会在这里问这个:-)
另一种简单的方法是使用SOCKSify,但在这种情况下,我收到以下错误:
/usr/lib/ruby/gems/1.9.2-p290/gems/socksify-1.5.0/lib/socksify.rb:189:in 'socks_authenticate': SOCKS version not supported (SOCKSError)
我之前从未做过任何网络编程.任何关于此的指导也将非常有帮助.谢谢 :-)
在今天升级到Ruby-1.9.3-p392之后,REXML在尝试检索特定大小的XML响应时抛出运行时错误 - 一切正常并且在接收25个XML记录时没有引发错误,但是一旦某个XML响应达到长度阈值,我得到这个错误:
Error occurred while parsing request parameters.
Contents:
RuntimeError (entity expansion has grown too large):
/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/rexml/text.rb:387:in `block in unnormalize'
Run Code Online (Sandbox Code Playgroud)
我意识到最新的Ruby版本已经改变了:http: //www.ruby-lang.org/en/news/2013/02/22/rexml-dos-2013-02-22/
作为一个快速修复,我已经将大小更改REXML::Document.entity_expansion_text_limit
为更大的数字,错误就消失了.
是否存在风险较低的解决方案?
我无法从字符串中删除空格.
我的HTML是:
<p class='your-price'>
Cena pro Vás: <strong>139 <small>K?</small></strong>
</p>
Run Code Online (Sandbox Code Playgroud)
我的代码是:
#encoding: utf-8
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
site = agent.get("http://www.astratex.cz/podlozky-pod-raminka/doplnky")
price = site.search("//p[@class='your-price']/strong/text()")
val = price.first.text => "139 "
val.strip => "139 "
val.gsub(" ", "") => "139 "
Run Code Online (Sandbox Code Playgroud)
gsub
,strip
等等不起作用.为什么,我该如何解决这个问题?
val.class => String
val.dump => "\"139\\u{a0}\"" !
val.encoding => #<Encoding:UTF-8>
__ENCODING__ => #<Encoding:UTF-8>
Encoding.default_external => #<Encoding:UTF-8>
Run Code Online (Sandbox Code Playgroud)
我正在使用Ruby 1.9.3,因此Unicode不应该是问题.
我正在使用ruby xmpp4r库来实现与openfire服务器的多用户组聊天应用程序.我在openfire服务器上成功创建了聊天室.如果用户使用openfire凭证加入聊天室,则不返回之前的群聊历史记录,只返回少量消息,因为我正在使用add_message_callback()
方法.
以下是openfire群聊历史记录设置:
**显示整个聊天记录(向加入房间的用户显示整个聊天记录.) - 真实
我在这里错过了什么?任何人都有示例代码来获取以前的组历史记录?
我已阅读了这么多文章,但没有弄清楚如何解决这个问题:
$ /cygdrive/e/adt-bundle-windows-x86/android-ndk-r8d/ndk-build
Gdbserver : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver
Gdbsetup : libs/armeabi/gdb.setup
Cygwin : Generating dependency file converter script
Compile++ thumb : Andest1 <= Andest1.cpp
StaticLibrary : libstdc++.a
SharedLibrary : libAndest1.so
Install : libAndest1.so => libs/armeabi/libAndest1.so
$ /cygdrive/e/adt-bundle-windows-x86/android-ndk-r8d/ndk-gdb --project=e:/workspace/Andrd1 --port=5000 --start --force --verbose
0xafd0c52c in epoll_wait () from E:\workspace\Andrd1/./obj/local/armeabi/libc.so
warning: .dynamic section for "E:\workspace\Andrd1/./obj/local/armeabi/libAndrd1.so" is not at the expected address (wrong library or version mismatch?)
warning: Could not load shared library symbols for 67 libraries, e.g. libstdc++.so.
Run Code Online (Sandbox Code Playgroud) 页面上有一个div不可见,但有一些我想要捕获的值.在它上面调用文本会返回一个空字符串.
如何在不处理原始html的情况下显示值?无论浏览器中文本的可见性如何,我都可以强制.text返回实际值吗?
irb(main):1341:0> d.first.visible?
=> false
irb(main):1344:0> d.first.html
=> "<div class=\"day\">7</div>"
irb(main):1345:0> d.first.text
=> ""
Run Code Online (Sandbox Code Playgroud)
PS:有很多div(页面缓存响应并相应地显示它们).我考虑更改所有显示:在页面中没有或点击使它们可见但我希望尽可能避免这种情况.如果不可能,改变所有显示器的解决方案都不是首选的解决方法.
PPS:诅咒,我试图超载可见?Watir :: Element类中的方法总是返回true,但是没有做到这一点.
irb(main):1502:0> d.first.visible?
=> true
irb(main):1504:0> d.first.text
=> ""
Run Code Online (Sandbox Code Playgroud)