Попытка преобразовать код Python в код ruby - PullRequest
0 голосов
/ 26 января 2019

Вот код Python:

with open('config.json') as json_data_file:
       configuration = json.load(json_data_file)
       access_token=configuration["canvas"]["access_token"]
       baseUrl="https://"+configuration["canvas"]["host"]+"/api/v1/courses/"

header = {'Authorization' : 'Bearer ' + access_token}

Я пытаюсь написать некоторый код в ruby, который делает то же самое, что и код Python выше.Вот как я это написал:

File.open("config.json") {|json_data_file|
  configuration = json.load(json_data_file)
  access_token=configuration["canvas"]["access_token"]
  baseUrl="https://"+configuration["canvas"]["host"]+"/api/v1/courses/"
}

header = {'Authorization': 'Bearer ' + access_token}

Это правильный способ сделать это?

1 Ответ

0 голосов
/ 26 января 2019

Это проще, чем это.Вы используете IO # read для возврата содержимого файла в виде строки, а затем вы используете JSON.parse для преобразования JSON в структуру Ruby.

Скажите, что это вашеconfig.json file:

{
  "canvas": {
    "access_token": "i like pie",
    "host": "ilikepie.com"
  }
}

И для доступа к информации из config.json в коде Ruby:

# You need to require JSON
require 'json'

config_file = File.read('config.json')
config_hash = JSON.parse(config_file)

# Now you can access everything from `config_hash`
access_token = config_hash['canvas']['access_token'] # => 'i like pie'
host = config_hash['canvas']['host'] # => 'ilikepie.com'

Ваш окончательный код Ruby должен выглядеть примерно так:

require 'json'

config = JSON.parse(File.read('config.json'))

access_token = config['canvas']['access_token']
host = config['canvas']['host']

# Use snake case in Ruby scripts. Also, use string interpolation, it's much clearer.
base_url = "https://#{host}/api/v1/courses/" # => 'https://ilikepie.com/api/v1/courses/'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...