- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我启动了一个脚本,但收到一条错误消息。我通常有正确的想法,但语法或格式不正确。
以下是给出的确切说明:
通过添加一个名为 to_oct 的方法来扩展 Integer 类,该方法返回一个表示八进制整数的字符串。我们将在类里面讨论该算法。提示用户输入一个数字并输出 to_oct 返回的八进制字符串。
向名为“to_base”的整数扩展添加另一个方法。此方法应采用一个参数,指示数字应转换为的基数。例如,要将数字 5 转换为二进制,我会调用 5.to_base(2)。这将返回“101”。假设 to_base 的输入参数是一个小于 10 的整数。to_base 应该返回一个字符串,表示请求的基数中的小数。
#!/usr/bin/ruby
class Integer
def to_base(b)
string=""
while n > 0
string=(n%b)+string
n = n/b
end
end
def to_oct
n.to_base(8)
end
end
puts "Enter a number: "
n=gets.chomp
puts n.to_base(2)
当我运行脚本时,我确实收到了输入数字的提示,但随后我收到了这条错误消息:
tryagain.rb:16:in `<main>': undefined method `to_base' for "5":String (NoMethodError)
最佳答案
按照建议,做这样的事情:
class Integer
def to_base b
to_s b #same as self.to_s(b)
end
def to_oct
to_base 8 #same as self.to_base(8)
end
end
5.to_base 2 #=> "101"
65.to_oct #=> "101"
关于ruby - 使用 Integer 类和多种方法将 Integer 转换为 Octal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40776438/
我在 angular 7 中工作并使用验证联系电话 "^(?!(\d)\1+$)(?:\(?\+\d{1,3}\)?[- ]?|0)?\d{10}$" 正则表达式,但它抛出以下错误:模块解析失败:严格
int arr[20][20] = { {08,02,22,97,38,15,00,40,00,75,04,05,07,78,52,12,50,77,91,08
更新:根据目前的评论和回复,我想我应该明确表示我理解 0700 是十进制数 448 的八进制表示。我关心的是当一个八进制mode 参数,或者当一个十进制数被重铸为八进制数并传递给 os.FileMod
更新:根据目前的评论和回复,我想我应该明确表示我理解 0700 是十进制数 448 的八进制表示。我关心的是当一个八进制mode 参数,或者当一个十进制数被重铸为八进制数并传递给 os.FileMod
我正在学习 C 编程,但我不知道这个程序出了什么问题 构建消息中的错误代码是 错误:八进制常量中的数字“8”无效。 谁能帮忙,谢谢 =) #include #include int ch ; in
我没有在 C 标准中找到解释如何处理上述宽字符串中的转义序列。 例如: wchar_t *txt1 = L"\x03A9"; wchar_t *txt2 = L"\xA9\x03"; 这些是否以某种方
我有一个 java 程序,需要 tar/gz 大量数据(14 gigs),并且我正在使用 commons-compress。这将是每周重复发生的工作并且是自动化的。 当我尝试压缩这种大小的东西时,我得
我启动了一个脚本,但收到一条错误消息。我通常有正确的想法,但语法或格式不正确。 以下是给出的确切说明: 通过添加一个名为 to_oct 的方法来扩展 Integer 类,该方法返回一个表示八进制整数的
我尝试安装软件包(实际上是 pdbDEMO 和所有依赖项),但遇到了一个我无法解决的问题,也没有找到任何解决方案。 我使用 R 命令: >install.packages("pbdDEMO", lib
我正在编写一个执行二次公式的程序。我唯一的问题是程序的实际格式。允许我输入加减号和平方根符号的 alt 键给我带来了一些问题。 问题存在于 cout<< 0-b << char(241) << cha
我正在尝试遍历这些数组,但收到此错误“严格模式下不允许使用旧版八进制文字” const myList =[ { id: 01, title: 'FrontEnd
我正在尝试向项目添加redux开发工具(以便可以更好地使用ngrx 4)。 我在网上看了如何向 Electron 中添加开发工具,发现了两种方法: 1)使用 Electron 开发工具安装程序 ele
正在尝试编译大量 .c 文件 (1) 文件编译正常,使用 cc cc -Wall -Wextra -Wunreachable-code -ggdb -O0 *.c (2) 然后,我需要根据最终输出创建
正在尝试编译大量 .c 文件 (1) 文件编译正常,使用 cc cc -Wall -Wextra -Wunreachable-code -ggdb -O0 *.c (2) 然后,我需要根据最终输出创建
在我们的用例中,我们将获取格式如下的 UTF-8 文本数据: Data1§Data2 Data3§Data4 现在我们希望在 Apache Hive 中将 Data1 和 Data3 放在一列中,将
我有以下代码 fs.createWriteStream( fileName, { flags: 'a', encoding: 'utf8', mode: 0644 }); 我收到一个 li
这个问题已经有答案了: Why are Octal numeric literals not allowed in strict mode (and what is the workaround?)
我有 twitter bootstrap 设置来构建一个新元素,但是我从 VS2010 收到以下错误。 fatal error ,无法继续:八进制转义序列仅在 ECMAScript 3 兼容模式下受支
我有一个 html 表格,我正在使用 javascript 将其传递到 Excel 文件。我正在使用从 https://github.com/jmaister/excellentexport 下载的
当我推送到 heroku master 时,我的部署失败并出现以下错误: remote: { SyntaxError: /tmp/build_396711075a2ae75358d2c942f9c73
我是一名优秀的程序员,十分优秀!